Fixed some half-completed work in generic drivers. Minor -x bug fixes.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
from configparser import ConfigParser
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from fenrirscreenreader.core.settingsData import settings_data
|
||||
from fenrirscreenreader.speechDriver import genericDriver
|
||||
|
||||
|
||||
def test_build_speech_command_replaces_snake_case_placeholders():
|
||||
speech_driver = genericDriver.driver()
|
||||
speech_driver.speech_command = (
|
||||
"synth --volume fenrir_volume --module fenrir_module "
|
||||
"--language fenrir_language --voice fenrir_voice "
|
||||
"--pitch fenrir_pitch --rate fenrir_rate fenrir_text"
|
||||
)
|
||||
utterance = {
|
||||
"volume": "150",
|
||||
"module": "module-name",
|
||||
"language": "en-US",
|
||||
"voice": "voice-name",
|
||||
"pitch": "50",
|
||||
"rate": "240",
|
||||
"text": "hello",
|
||||
}
|
||||
|
||||
assert speech_driver._build_speech_command(utterance) == [
|
||||
"synth",
|
||||
"--volume",
|
||||
"150",
|
||||
"--module",
|
||||
"module-name",
|
||||
"--language",
|
||||
"en-US",
|
||||
"--voice",
|
||||
"voice-name",
|
||||
"--pitch",
|
||||
"50",
|
||||
"--rate",
|
||||
"240",
|
||||
"hello",
|
||||
]
|
||||
|
||||
|
||||
def _configured_speech_command():
|
||||
config = ConfigParser(interpolation=None)
|
||||
config.read(Path(__file__).parents[2] / "config/settings/settings.conf")
|
||||
return config.get("speech", "generic_speech_command")
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"speech_command",
|
||||
[
|
||||
settings_data["speech"]["generic_speech_command"],
|
||||
_configured_speech_command(),
|
||||
],
|
||||
)
|
||||
def test_default_speech_commands_use_supported_placeholders(speech_command):
|
||||
speech_driver = genericDriver.driver()
|
||||
speech_driver.speech_command = speech_command
|
||||
utterance = {
|
||||
"volume": "150",
|
||||
"module": "",
|
||||
"language": "en-US",
|
||||
"voice": "voice-name",
|
||||
"pitch": "50",
|
||||
"rate": "240",
|
||||
"text": "hello",
|
||||
}
|
||||
|
||||
built_command = speech_driver._build_speech_command(utterance)
|
||||
|
||||
assert not any("fenrir_" in argument for argument in built_command)
|
||||
Reference in New Issue
Block a user