feat: create_tray() dispatcht auf Linux zu PystrayApp
This commit is contained in:
+13
-2
@@ -254,8 +254,19 @@ class TestCreateTray:
|
|||||||
tray = create_tray(on_settings=MagicMock(), on_quit=MagicMock())
|
tray = create_tray(on_settings=MagicMock(), on_quit=MagicMock())
|
||||||
assert isinstance(tray, PystrayApp)
|
assert isinstance(tray, PystrayApp)
|
||||||
|
|
||||||
@pytest.mark.skipif(sys.platform == "win32", reason="NoOpTray nur auf nicht-Windows")
|
@pytest.mark.skipif(sys.platform != "linux", reason="Linux-only")
|
||||||
def test_returns_noop_tray_on_non_windows(self):
|
def test_returns_pystray_on_linux(self):
|
||||||
|
from whisper_local.tray import create_tray
|
||||||
|
from whisper_local.tray._tray import PystrayApp
|
||||||
|
|
||||||
|
tray = create_tray(on_settings=lambda: None, on_quit=lambda: None)
|
||||||
|
assert isinstance(tray, PystrayApp)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(
|
||||||
|
sys.platform in ("win32", "linux"),
|
||||||
|
reason="NoOpTray nur auf Plattformen ohne Tray-Unterstützung",
|
||||||
|
)
|
||||||
|
def test_returns_noop_tray_on_unsupported_platform(self):
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
from whisper_local.tray import create_tray
|
from whisper_local.tray import create_tray
|
||||||
from whisper_local.tray._tray import NoOpTray
|
from whisper_local.tray._tray import NoOpTray
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ def create_tray(
|
|||||||
on_quit: Callable[[], None],
|
on_quit: Callable[[], None],
|
||||||
) -> "PystrayApp | NoOpTray":
|
) -> "PystrayApp | NoOpTray":
|
||||||
"""Gibt den plattformspezifischen Tray zurück."""
|
"""Gibt den plattformspezifischen Tray zurück."""
|
||||||
if sys.platform == "win32":
|
if sys.platform in ("win32", "linux"):
|
||||||
from whisper_local.tray._tray import PystrayApp
|
from whisper_local.tray._tray import PystrayApp
|
||||||
return PystrayApp(on_settings=on_settings, on_quit=on_quit)
|
return PystrayApp(on_settings=on_settings, on_quit=on_quit)
|
||||||
return NoOpTray()
|
return NoOpTray()
|
||||||
|
|||||||
Reference in New Issue
Block a user