mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 12:59:34 +00:00
Add default voice for languages in cloud TTS (#137300)
* Add default voice for languages in cloud TTS * Add test * use defined voice * Add test to ensure all default voices are valid
This commit is contained in:
@@ -12,7 +12,12 @@ import voluptuous as vol
|
||||
|
||||
from homeassistant.components.assist_pipeline.pipeline import STORAGE_KEY
|
||||
from homeassistant.components.cloud.const import DEFAULT_TTS_DEFAULT_VOICE, DOMAIN
|
||||
from homeassistant.components.cloud.tts import PLATFORM_SCHEMA, SUPPORT_LANGUAGES, Voice
|
||||
from homeassistant.components.cloud.tts import (
|
||||
DEFAULT_VOICES,
|
||||
PLATFORM_SCHEMA,
|
||||
SUPPORT_LANGUAGES,
|
||||
Voice,
|
||||
)
|
||||
from homeassistant.components.media_player import (
|
||||
ATTR_MEDIA_CONTENT_ID,
|
||||
DOMAIN as DOMAIN_MP,
|
||||
@@ -61,6 +66,19 @@ def test_default_exists() -> None:
|
||||
assert DEFAULT_TTS_DEFAULT_VOICE[1] in TTS_VOICES[DEFAULT_TTS_DEFAULT_VOICE[0]]
|
||||
|
||||
|
||||
def test_all_languages_have_default() -> None:
|
||||
"""Test all languages have a default voice."""
|
||||
assert set(SUPPORT_LANGUAGES).difference(DEFAULT_VOICES) == set()
|
||||
assert set(DEFAULT_VOICES).difference(SUPPORT_LANGUAGES) == set()
|
||||
|
||||
|
||||
@pytest.mark.parametrize(("language", "voice"), DEFAULT_VOICES.items())
|
||||
def test_default_voice_is_valid(language: str, voice: str) -> None:
|
||||
"""Test that the default voice is valid."""
|
||||
assert language in TTS_VOICES
|
||||
assert voice in TTS_VOICES[language]
|
||||
|
||||
|
||||
def test_schema() -> None:
|
||||
"""Test schema."""
|
||||
assert "nl-NL" in SUPPORT_LANGUAGES
|
||||
|
||||
Reference in New Issue
Block a user