diff --git a/tests/test_main.py b/tests/test_main.py index f1cfd55..80e92e5 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -15,12 +15,13 @@ class TestMainModule(unittest.TestCase): def test_parse_arguments_defaults(self): """Test argument parsing with defaults.""" - # Test with no arguments + # Test with no arguments (model/engine/language will be None without defaults) with patch("sys.argv", ["vocalinux"]): args = parse_arguments() self.assertFalse(args.debug) - self.assertEqual(args.model, "small") - self.assertEqual(args.engine, "vosk") + self.assertIsNone(args.model) # No default set, loaded from config instead + self.assertIsNone(args.engine) + self.assertIsNone(args.language) self.assertFalse(args.wayland) def test_parse_arguments_custom(self): @@ -35,6 +36,8 @@ class TestMainModule(unittest.TestCase): "large", "--engine", "whisper", + "--language", + "fr", "--wayland", ], ): @@ -42,6 +45,7 @@ class TestMainModule(unittest.TestCase): self.assertTrue(args.debug) self.assertEqual(args.model, "large") self.assertEqual(args.engine, "whisper") + self.assertEqual(args.language, "fr") self.assertTrue(args.wayland) @patch("vocalinux.main.check_dependencies") @@ -88,6 +92,7 @@ class TestMainModule(unittest.TestCase): mock_args.debug = False mock_args.model = "medium" mock_args.engine = "vosk" + mock_args.language = "en-us" mock_args.wayland = True mock_parse.return_value = mock_args @@ -97,6 +102,7 @@ class TestMainModule(unittest.TestCase): # Verify components were initialized correctly mock_speech.assert_called_once_with( engine="vosk", + language="en-us", model_size="medium", vad_sensitivity=3, silence_timeout=2.0, diff --git a/tests/test_settings_dialog.py b/tests/test_settings_dialog.py index 6081e96..4b8fa21 100644 --- a/tests/test_settings_dialog.py +++ b/tests/test_settings_dialog.py @@ -34,6 +34,7 @@ mock_config_manager.get = Mock( return_value={ "speech_recognition": { "engine": "vosk", + "language": "en-us", "model_size": "small", "vad_sensitivity": 3, "silence_timeout": 2.0, @@ -68,6 +69,9 @@ class TestSettingsDialog(unittest.TestCase): self.silence_spin = Mock() self.silence_spin.get_value.return_value = 2.0 + self.language_combo = Mock() + self.language_combo.get_active_id.return_value = "en-us" + self.vosk_settings_box = Mock() self.vosk_settings_box.is_visible.return_value = True @@ -92,6 +96,7 @@ class TestSettingsDialog(unittest.TestCase): self.dialog.model_combo = self.model_combo self.dialog.vad_spin = self.vad_spin self.dialog.silence_spin = self.silence_spin + self.dialog.language_combo = self.language_combo self.dialog.vosk_settings_box = self.vosk_settings_box self.dialog.test_button = self.test_button self.dialog.test_textview = self.test_textview @@ -102,6 +107,7 @@ class TestSettingsDialog(unittest.TestCase): self.dialog.get_selected_settings = Mock( return_value={ "engine": "vosk", + "language": "en-us", "model_size": "small", "vad_sensitivity": 3, "silence_timeout": 2.0, @@ -118,6 +124,7 @@ class TestSettingsDialog(unittest.TestCase): # Add missing attributes for apply_settings self.dialog.current_model_size = "small" self.dialog.current_engine = "vosk" + self.dialog.language = "en-us" self.dialog._populate_model_options = Mock() def test_apply_settings_success(self): @@ -125,6 +132,7 @@ class TestSettingsDialog(unittest.TestCase): # Change the returned settings for this test self.dialog.get_selected_settings.return_value = { "engine": "vosk", + "language": "en-us", "model_size": "large", "vad_sensitivity": 3, "silence_timeout": 2.0,