NarratoAI/webui/components/test_audio_settings_unittest.py
2026-07-13 06:19:56 +08:00

64 lines
2.1 KiB
Python

import unittest
from webui.components.audio_settings import (
_normalize_source_pills_value,
get_tts_engine_options,
)
def zh_tr(key):
return {
"Select from Resource Directory": "从资源目录选择",
"Upload Reference Audio": "上传参考音频",
"Upload Background Music": "上传背景音乐",
}.get(key, key)
class AudioSettingsSourcePillsTests(unittest.TestCase):
def test_tts_engine_options_include_indextts_15_macos_as_local_engine(self):
options = get_tts_engine_options(lambda key: {
"Local Deployment": "本地部署",
"Cloud Service": "云服务",
}.get(key, key))
self.assertEqual(
"IndexTTS-1.5-macOS [本地部署]",
options["indextts_macos"],
)
def test_normalize_source_pills_value_keeps_canonical_value(self):
options = {
"resource": "Select from Resource Directory",
"upload": "Upload Reference Audio",
}
self.assertEqual("upload", _normalize_source_pills_value("upload", options, "resource", zh_tr))
def test_normalize_source_pills_value_migrates_current_translated_label(self):
options = {
"resource": "Select from Resource Directory",
"upload": "Upload Reference Audio",
}
self.assertEqual("resource", _normalize_source_pills_value("从资源目录选择", options, "upload", zh_tr))
def test_normalize_source_pills_value_migrates_untranslated_label_key(self):
options = {
"resource": "Select from Resource Directory",
"upload": "Upload Background Music",
}
self.assertEqual("upload", _normalize_source_pills_value("Upload Background Music", options, "resource", zh_tr))
def test_normalize_source_pills_value_falls_back_to_default(self):
options = {
"resource": "Select from Resource Directory",
"upload": "Upload Reference Audio",
}
self.assertEqual("resource", _normalize_source_pills_value("invalid", options, "resource", zh_tr))
if __name__ == "__main__":
unittest.main()