32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
#
|
|
# Copyright (c) 2024-2026, Daily
|
|
#
|
|
# SPDX-License-Identifier: BSD 2-Clause License
|
|
#
|
|
|
|
"""Tests for Inworld TTS language code mapping."""
|
|
|
|
from pipecat.services.inworld.tts import language_to_inworld_language
|
|
from pipecat.transcriptions.language import Language
|
|
|
|
|
|
def test_inworld_base_languages_resolve_to_canonical_regional_tags():
|
|
"""Base GA languages should use the regional tags emitted by Inworld Playground."""
|
|
assert language_to_inworld_language(Language.EN) == "en-US"
|
|
assert language_to_inworld_language(Language.RU) == "ru-RU"
|
|
assert language_to_inworld_language(Language.FR) == "fr-FR"
|
|
assert language_to_inworld_language(Language.ZH) == "zh-CN"
|
|
|
|
|
|
def test_inworld_regional_languages_are_preserved():
|
|
"""Explicit regional variants should be passed through as supported BCP-47 tags."""
|
|
assert language_to_inworld_language(Language.EN_GB) == "en-GB"
|
|
assert language_to_inworld_language(Language.PT_PT) == "pt-PT"
|
|
assert language_to_inworld_language(Language.RU_RU) == "ru-RU"
|
|
|
|
|
|
def test_inworld_other_languages_are_passed_through_as_bcp47_tags():
|
|
"""Languages outside the canonical locale map should keep their BCP-47 enum value."""
|
|
assert language_to_inworld_language(Language.SV_SE) == "sv-SE"
|
|
assert language_to_inworld_language(Language.UK_UA) == "uk-UA"
|