diff options
| author | historia <historiavg@proton.me> | 2026-08-27 15:53:22 -0400 |
|---|---|---|
| committer | historia <historiavg@proton.me> | 2026-08-27 15:53:22 -0400 |
| commit | 2252a0e4ae86fcc71a58af99d63750adab54cabd (patch) | |
| tree | 489a5e5d2124a831be31a69ee740ec4c260661e1 /app/tests/test_tts.py | |
| parent | 5b98993b13dafe9a85495e4c68ad9b42863ef2bf (diff) | |
| download | tts-audiobook-generator-2252a0e4ae86fcc71a58af99d63750adab54cabd.tar.gz | |
feat: menu for language options
Diffstat (limited to 'app/tests/test_tts.py')
| -rw-r--r-- | app/tests/test_tts.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/tests/test_tts.py b/app/tests/test_tts.py index 49eb6f6..cf67c6c 100644 --- a/app/tests/test_tts.py +++ b/app/tests/test_tts.py @@ -25,6 +25,7 @@ from converter.clients import ( BACKEND_AUDIOCPP, BACKEND_FASTER, BACKEND_QWEN, + LANGUAGE_CHOICES, LANGUAGE_ISO_CODES, MODEL_SIZE, SAMPLE_RATE, @@ -66,6 +67,25 @@ class NormalizeLanguageTests(unittest.TestCase): self.assertEqual(normalize_language("pt"), "Portuguese") self.assertEqual(normalize_language("es"), "Spanish") self.assertEqual(normalize_language("it"), "Italian") + self.assertEqual(normalize_language("ar"), "Arabic") + self.assertEqual(normalize_language("hi"), "Hindi") + self.assertEqual(normalize_language("vi"), "Vietnamese") + + def test_audio_cpp_menu_languages_accepted(self): + # audio.cpp's WebUI menus add Arabic, Hindi and Vietnamese; the + # MagpieTTS Arabic regional variants collapse to plain Arabic. + self.assertEqual(normalize_language("arabic"), "Arabic") + self.assertEqual(normalize_language("Hindi"), "Hindi") + self.assertEqual(normalize_language("vietnamese"), "Vietnamese") + for variant in ("ar-AE", "ar-MSA", "ar-SA"): + self.assertEqual(normalize_language(variant), "Arabic") + + def test_language_choices_are_valid_display_names(self): + # The TUI's static picker lists a permutation of TTS_LANGUAGES + # (common languages first), so every entry normalizes. + self.assertEqual(sorted(LANGUAGE_CHOICES), sorted(TTS_LANGUAGES)) + for name in LANGUAGE_CHOICES: + self.assertEqual(normalize_language(name), name) def test_all_supported_languages_round_trip(self): for name in TTS_LANGUAGES: @@ -1105,6 +1125,11 @@ class AudioCppFamilyDetectionTests(unittest.TestCase): self.assertEqual(LANGUAGE_ISO_CODES["English"], "en") self.assertIsNone(LANGUAGE_ISO_CODES.get("Auto")) + def test_iso_codes_cover_the_audio_cpp_menu_languages(self): + self.assertEqual(LANGUAGE_ISO_CODES["Arabic"], "ar") + self.assertEqual(LANGUAGE_ISO_CODES["Hindi"], "hi") + self.assertEqual(LANGUAGE_ISO_CODES["Vietnamese"], "vi") + class AudiocppEntryVoiceCapabilityTests(unittest.TestCase): """The per-entry voice capability resolver (speaker/clone/design).""" |
