feat: add create_tray() factory with platform dispatch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -242,3 +242,29 @@ class TestSettingsDialog:
|
||||
if captured_save_fn:
|
||||
captured_save_fn[0]()
|
||||
assert len(saved_configs) == 1
|
||||
|
||||
|
||||
class TestCreateTray:
|
||||
@pytest.mark.skipif(sys.platform != "win32", reason="Win32TrayApp nur auf Windows")
|
||||
def test_returns_win32_tray_on_windows(self):
|
||||
from unittest.mock import MagicMock
|
||||
from whisper_local.tray import create_tray
|
||||
from whisper_local.tray._tray import Win32TrayApp
|
||||
|
||||
tray = create_tray(on_settings=MagicMock(), on_quit=MagicMock())
|
||||
assert isinstance(tray, Win32TrayApp)
|
||||
|
||||
@pytest.mark.skipif(sys.platform == "win32", reason="NoOpTray nur auf nicht-Windows")
|
||||
def test_returns_noop_tray_on_non_windows(self):
|
||||
from unittest.mock import MagicMock
|
||||
from whisper_local.tray import create_tray
|
||||
from whisper_local.tray._tray import NoOpTray
|
||||
|
||||
tray = create_tray(on_settings=MagicMock(), on_quit=MagicMock())
|
||||
assert isinstance(tray, NoOpTray)
|
||||
|
||||
def test_appstate_exported_from_package(self):
|
||||
from whisper_local.tray import AppState
|
||||
assert AppState.WAITING is not None
|
||||
assert AppState.RECORDING is not None
|
||||
assert AppState.TRANSCRIBING is not None
|
||||
|
||||
Reference in New Issue
Block a user