From 4d4a8419f8e1ff3fbee89457f02dd15b6ccabbaf Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 19 Aug 2017 10:19:00 +0100 Subject: [PATCH] Test espeak_SetVoiceByName with an invalid voice name. --- tests/api.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/api.c b/tests/api.c index 6733d853..bc57f8a1 100644 --- a/tests/api.c +++ b/tests/api.c @@ -240,6 +240,41 @@ test_espeak_set_voice_by_name_valid_voice() assert(p_decoder == NULL); } +void +test_espeak_set_voice_by_name_invalid_voice() +{ + printf("testing espeak_SetVoiceByName(\"zzz\")\n"); + + assert(event_list == NULL); + assert(translator == NULL); + assert(p_decoder == NULL); + + assert(espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL, 0, NULL, 0) == 22050); + assert(event_list != NULL); + assert(translator == NULL); + assert(p_decoder == NULL); + + assert(espeak_SetVoiceByName("zzz") == EE_NOT_FOUND); + assert(translator == NULL); + assert(p_decoder == NULL); + + const char *test = "One two three."; + assert(espeak_Synth(test, strlen(test)+1, 0, POS_CHARACTER, 0, espeakCHARS_AUTO, NULL, NULL) == EE_OK); + assert(translator != NULL); + assert(strcmp(translator->dictionary_name, "en") == 0); + assert(p_decoder != NULL); + + assert(espeak_Synchronize() == EE_OK); + assert(translator != NULL); + assert(strcmp(translator->dictionary_name, "en") == 0); + assert(p_decoder != NULL); + + assert(espeak_Terminate() == EE_OK); + assert(event_list == NULL); + assert(translator == NULL); + assert(p_decoder == NULL); +} + // endregion // region espeak_SetVoiceByProperties @@ -421,6 +456,7 @@ main(int argc, char **argv) test_espeak_set_voice_by_name_null_voice(); test_espeak_set_voice_by_name_blank_voice(); test_espeak_set_voice_by_name_valid_voice(); + test_espeak_set_voice_by_name_invalid_voice(); test_espeak_set_voice_by_properties_empty(); test_espeak_set_voice_by_properties_blank_language();