2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <gtest/gtest.h>
19 #include <system_info.h>
20 #include <tzplatform_config.h>
24 #include <tts_internal.h>
25 #include "system_info_mock.h"
27 static tts_h g_tts = NULL;
28 static char *g_language = NULL;
29 static int g_voice_type;
30 static int is_created_hndl = -1;
31 static bool g_supported = false;
32 static tts_state_e g_current_state;
33 static tts_service_state_e g_current_service_state = TTS_SERVICE_STATE_READY;
34 static bool g_utterance_started_cb = false;
35 static bool g_utterance_completed_cb = false;
36 static bool g_screen_reader_changed_cb = false;
37 static bool g_error_cb = false;
38 static const char* g_test_engine = "test";
39 static int g_utt_id = -1;
40 static char* g_pcm_data = nullptr;
41 static long g_pcm_size = 0;
42 static const char *g_text = "Speech Synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech computer or speech synthesizer,\
43 and can be implemented in software or hardware products. A text-to-speech (TTS) system converts normal language text into speech; other systems render symbolic linguistic\
44 representations like phonetic transcriptions into speech.\
45 Synthesized speech can be created by concatenating pieces of recorded speech that are stored in a database. Systems differ in the size of the stored speech units; \
46 a system that stores phones or diphones provides the largest output range, but may lack clarity. For specific usage domains, the storage of entire words or sentences allows \
47 for high-quality output. Alternatively, a synthesizer can incorporate a model of the vocal tract and other human voice characteristics to create a completely synthetic voice output.\
48 The quality of a speech synthesizer is judged by its similarity to the human voice and by its ability to be understood clearly. An intelligible text-to-speech program allows people \
49 with visual impairments or reading disabilities to listen to written works on a home computer. Many computer operating systems have included speech synthesizers since the early 1990s.\
50 A text-to-speech system is composed of two parts:[3] a front-end and a back-end. The front-end has two major tasks. First, it converts raw text containing symbols like numbers and \
51 abbreviations into the equivalent of written-out words. This process is often called text normalization, pre-processing, or tokenization. The front-end then assigns phonetic \
52 transcriptions to each word, and divides and marks the text into prosodic units, like phrases, clauses, and sentences. The process of assigning phonetic transcriptions to words is \
53 called text-to-phoneme or grapheme-to-phoneme conversion. Phonetic transcriptions and prosody information together make up the symbolic linguistic representation that is output by \
54 the front-end. The back-end?often referred to as the synthesizer?then converts the symbolic linguistic representation into sound. In certain systems, this part includes the computation \
55 of the target prosody (pitch contour, phoneme durations),[4] which is then imposed on the output speech. From Wikipedia";
57 static const int g_sample_rate = 24000;
58 static const char* ENGINE_VCONF_KEY = "db/voice/tts/engine/default";
59 static const int STATE_CHECK_WAITING_TIME = 5;
61 static bool __tts_supported_voice_cb(tts_h tts, const char* language, int voice_type, void* user_data)
66 static void __tts_state_changed_cb(tts_h tts, tts_state_e previous, tts_state_e current, void* user_data)
68 g_current_state = current;
71 static void __tts_state_changed_cb_destroy_test(tts_h tts, tts_state_e previous, tts_state_e current, void* user_data)
73 g_current_state = current;
75 ASSERT_NE(tts_destroy(g_tts), TTS_ERROR_NONE);
78 static void __tts_utterance_started_cb(tts_h tts, int utt_id, void* user_data)
80 g_utterance_started_cb = true;
83 static void __tts_utterance_completed_cb(tts_h tts, int utt_id, void *user_data)
85 g_utterance_completed_cb = true;
89 static void __tts_error_cb(tts_h tts, int utt_id, tts_error_e reason, void* user_data)
94 static void __tts_default_voice_changed_cb(tts_h tts, const char* previous_language, int previous_voice_type, const char* current_language, int current_voice_type, void* user_data)
98 static void __tts_screen_reader_changed_cb(tts_h tts, bool is_on, void* user_data)
100 g_screen_reader_changed_cb = true;
103 static void __tts_engine_changed_cb(tts_h tts, const char* engine_id, const char* language, int voice_type, bool need_credential, void* user_data)
107 static void __tts_service_state_changed_cb(tts_h tts, tts_service_state_e previous, tts_service_state_e current, void* user_data)
109 g_current_service_state = current;
112 static bool __is_state_changed(tts_state_e state, int wait_delay)
114 int max_count = wait_delay * 10;
116 while (max_count > count && state != g_current_state) {
117 ecore_main_loop_iterate();
122 if (state != g_current_state) {
129 static bool __is_service_state_changed(tts_service_state_e service_state, int wait_delay)
131 int max_count = wait_delay * 10;
133 while (max_count > count && service_state != g_current_service_state) {
134 ecore_main_loop_iterate();
139 if (service_state != g_current_service_state) {
146 static bool __is_screen_reader_changed(int wait_delay)
148 int max_count = wait_delay * 10;
150 while (max_count > count && false == g_screen_reader_changed_cb) {
151 ecore_main_loop_iterate();
156 return g_screen_reader_changed_cb;
159 static bool __is_error_occur(int wait_delay)
161 int max_count = wait_delay * 10;
163 while (max_count > count && false == g_error_cb) {
164 ecore_main_loop_iterate();
172 static void __get_test_PCM_Data()
174 const char* pcm_path = tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_APP"), "/org.tizen.tts-unittests/res/test_pcm.dat");
175 FILE* fp_in = fopen(pcm_path, "rb");
176 if (fp_in == nullptr) {
180 fseek(fp_in, 0, SEEK_END);
181 long size = ftell(fp_in);
182 fseek(fp_in, 0, SEEK_SET);
188 char* data = (char*)calloc(sizeof(char), size);
193 size_t read_size = fread(data, sizeof(char), size, fp_in);
196 if (read_size <= 0) {
207 static void __createTTSHandle()
209 g_current_state = TTS_STATE_CREATED;
210 is_created_hndl = tts_create(&g_tts);
211 if (g_supported == false) {
216 EXPECT_EQ(tts_set_state_changed_cb(g_tts, __tts_state_changed_cb, nullptr), TTS_ERROR_NONE);
217 EXPECT_EQ(tts_get_default_voice(g_tts, &g_language, &g_voice_type), TTS_ERROR_NONE);
220 static void __setUttCb()
222 EXPECT_EQ(tts_set_utterance_started_cb(g_tts, __tts_utterance_started_cb, nullptr), TTS_ERROR_NONE);
223 EXPECT_EQ(tts_set_utterance_completed_cb(g_tts, __tts_utterance_completed_cb, nullptr), TTS_ERROR_NONE);
226 static void __destroyTTSHandle()
228 if (nullptr == g_tts) {
232 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NONE);
237 static void __clearGlobalValue()
240 g_language = nullptr;
242 is_created_hndl = -1;
245 g_pcm_data = nullptr;
251 class TTSTest : public testing::Test {
253 virtual void SetUp() {
255 system_info_get_platform_bool("http://tizen.org/feature/speech.synthesis", &g_supported);
262 virtual void TearDown() {
263 __destroyTTSHandle();
264 __clearGlobalValue();
271 class TTSPreparedTest : public testing::Test {
273 virtual void SetUp() {
275 system_info_get_platform_bool("http://tizen.org/feature/speech.synthesis", &g_supported);
281 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
282 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
285 virtual void TearDown() {
286 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
288 __destroyTTSHandle();
289 __clearGlobalValue();
296 class TTSPreparedWithUttCbTest : public testing::Test {
298 virtual void SetUp() {
300 system_info_get_platform_bool("http://tizen.org/feature/speech.synthesis", &g_supported);
307 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
308 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
311 virtual void TearDown() {
312 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
314 __destroyTTSHandle();
315 __clearGlobalValue();
322 TEST_F(TTSTest, utc_tts_create_p)
324 if (g_supported == false) {
325 EXPECT_EQ(is_created_hndl, TTS_ERROR_NOT_SUPPORTED);
329 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
332 TEST_F(TTSTest, utc_tts_create_n)
334 int ret = tts_create(NULL);
335 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
338 TEST_F(TTSTest, utc_tts_destroy_p)
340 int ret = TTS_ERROR_NONE;
341 if (g_supported == false) {
342 ret = tts_destroy(g_tts);
343 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
347 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
348 ret = tts_destroy(g_tts);
350 EXPECT_EQ(ret, TTS_ERROR_NONE);
353 TEST_F(TTSTest, utc_tts_destroy_p2)
355 int ret = TTS_ERROR_NONE;
356 if (g_supported == false) {
357 ret = tts_destroy(g_tts);
358 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
361 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
363 ret = tts_set_mode(g_tts, TTS_MODE_DEFAULT);
364 EXPECT_EQ(ret, TTS_ERROR_NONE);
366 ret = tts_prepare(g_tts);
367 EXPECT_EQ(ret, TTS_ERROR_NONE);
369 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
371 ret = tts_destroy(g_tts);
373 EXPECT_EQ(ret, TTS_ERROR_NONE);}
375 TEST_F(TTSTest, utc_tts_destroy_p3)
377 int ret = TTS_ERROR_NONE;
378 if (g_supported == false) {
379 ret = tts_destroy(g_tts);
380 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
383 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
385 ret = tts_set_mode(g_tts, TTS_MODE_NOTIFICATION);
386 EXPECT_EQ(ret, TTS_ERROR_NONE);
388 ret = tts_prepare(g_tts);
389 EXPECT_EQ(ret, TTS_ERROR_NONE);
391 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
393 ret = tts_destroy(g_tts);
395 EXPECT_EQ(ret, TTS_ERROR_NONE);
399 * @testcase utc_tts_destroy_p4
401 * @description test whether multiple tts handles are destroyed properly
403 TEST_F(TTSTest, utc_tts_destroy_p4)
405 int ret = TTS_ERROR_NONE;
406 if(g_supported == false){
407 ret = tts_destroy(g_tts);
408 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
412 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
415 ret = tts_create(&tts);
416 EXPECT_EQ(ret, TTS_ERROR_NONE);
418 ret = tts_destroy(tts);
420 EXPECT_EQ(ret, TTS_ERROR_NONE);
422 ret = tts_destroy(g_tts);
424 EXPECT_EQ(ret, TTS_ERROR_NONE);
427 TEST_F(TTSTest, utc_tts_destroy_n)
429 int ret = tts_destroy(NULL);
430 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
433 TEST_F(TTSTest, utc_tts_destroy_n2)
435 int ret = TTS_ERROR_NONE;
436 if (g_supported == false) {
437 ret = tts_destroy(NULL);
438 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
442 ret = tts_destroy(g_tts);
443 EXPECT_EQ(ret, TTS_ERROR_NONE);
445 ret = tts_destroy(g_tts);
446 ASSERT_NE(ret, TTS_ERROR_NONE);
448 ret = tts_create(&g_tts);
449 EXPECT_EQ(ret, TTS_ERROR_NONE);
452 TEST_F(TTSTest, utc_tts_destroy_n3)
454 if (g_supported == false) {
455 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NOT_SUPPORTED);
459 EXPECT_EQ(tts_set_state_changed_cb(g_tts, __tts_state_changed_cb_destroy_test, nullptr), TTS_ERROR_NONE);
460 EXPECT_EQ(tts_prepare_sync(g_tts), TTS_ERROR_NONE);
463 TEST_F(TTSTest, utc_tts_set_mode_p)
465 int ret = TTS_ERROR_NONE;
466 if (g_supported == false) {
467 ret = tts_set_mode(g_tts, TTS_MODE_DEFAULT);
468 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
472 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
474 ret = tts_set_mode(g_tts, TTS_MODE_DEFAULT);
475 EXPECT_EQ(ret, TTS_ERROR_NONE);
478 TEST_F(TTSTest, utc_tts_set_mode_p2)
480 int ret = TTS_ERROR_NONE;
481 if (g_supported == false) {
482 ret = tts_set_mode(g_tts, TTS_MODE_SCREEN_READER);
483 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
487 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
489 ret = tts_set_mode(g_tts, TTS_MODE_SCREEN_READER);
490 EXPECT_EQ(ret, TTS_ERROR_NONE);
493 TEST_F(TTSTest, utc_tts_set_mode_n)
495 int ret = tts_set_mode(NULL, TTS_MODE_DEFAULT);
496 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
499 TEST_F(TTSPreparedTest, utc_tts_set_mode_n2)
501 int ret = TTS_ERROR_NONE;
502 if (g_supported == false) {
503 ret = tts_set_mode(NULL, TTS_MODE_DEFAULT);
504 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
507 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
509 ret = tts_set_mode(g_tts, TTS_MODE_DEFAULT);
510 ASSERT_NE(ret, TTS_ERROR_NONE);
513 TEST_F(TTSTest, utc_tts_set_mode_n3)
515 int ret = TTS_ERROR_NONE;
516 if (g_supported == false) {
517 ret = tts_set_mode(NULL, TTS_MODE_DEFAULT);
518 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
521 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
523 ret = tts_set_mode(g_tts, (tts_mode_e)100);
524 ASSERT_NE(ret, TTS_ERROR_NONE);
527 TEST_F(TTSTest, utc_tts_get_mode_p)
530 int ret = TTS_ERROR_NONE;
531 if (g_supported == false) {
532 ret = tts_get_mode(g_tts, &mode);
533 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
537 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
539 ret = tts_get_mode(g_tts, &mode);
540 EXPECT_EQ(ret, TTS_ERROR_NONE);
545 TEST_F(TTSTest, utc_tts_get_mode_n)
548 int ret = tts_get_mode(NULL, &mode);
549 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
552 TEST_F(TTSPreparedTest, utc_tts_get_mode_n2)
555 int ret = TTS_ERROR_NONE;
556 if (g_supported == false) {
557 ret = tts_get_mode(g_tts, &mode);
558 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
561 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
563 ret = tts_get_mode(g_tts, &mode);
564 ASSERT_NE(ret, TTS_ERROR_NONE);
567 TEST_F(TTSTest, utc_tts_get_speed_range_p)
572 int ret = TTS_ERROR_NONE;
574 if (g_supported == false) {
575 ret = tts_get_speed_range(g_tts, &min, &normal, &max);
576 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
580 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
581 ret = tts_get_speed_range(g_tts, &min, &normal, &max);
582 EXPECT_EQ(ret, TTS_ERROR_NONE);
586 * @testcase utc_tts_get_speed_range_n
588 * @description test whether function returns error with NULL parameter.
590 TEST_F(TTSTest, utc_tts_get_speed_range_n)
595 int ret = TTS_ERROR_NONE;
597 if (g_supported == false) {
598 ret = tts_get_speed_range(NULL, &min, &normal, &max);
599 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
603 ret = tts_get_speed_range(NULL, &min, &normal, &max);
604 ASSERT_NE(ret, TTS_ERROR_NONE);
608 * @testcase utc_tts_get_speed_range_n2
610 * @description test whether function returns error when tts handle is already destroyed.
612 TEST_F(TTSTest, utc_tts_get_speed_range_n2)
617 int ret = TTS_ERROR_NONE;
619 if (g_supported == false) {
620 ret = tts_get_speed_range(NULL, &min, &normal, &max);
621 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
625 ret = tts_destroy(g_tts);
626 EXPECT_EQ(ret, TTS_ERROR_NONE);
628 ret = tts_get_speed_range(g_tts, &min, &normal, &max);
629 ASSERT_NE(ret, TTS_ERROR_NONE);
631 ret = tts_create(&g_tts);
632 EXPECT_EQ(ret, TTS_ERROR_NONE);
636 * @testcase utc_tts_prepare_p
638 * @description test whether tts daemon is prepared properly.
640 TEST_F(TTSTest, utc_tts_prepare_p)
642 int ret = TTS_ERROR_NONE;
643 if (g_supported == false) {
644 ret = tts_prepare(g_tts);
645 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
649 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
651 ret = tts_prepare(g_tts);
652 EXPECT_EQ(ret, TTS_ERROR_NONE);
654 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
656 tts_unprepare(g_tts);
659 TEST_F(TTSTest, utc_tts_prepare_n)
661 int ret = tts_prepare(NULL);
662 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
666 * @testcase utc_tts_prepare_n2
668 * @description test whether function returns error when tts is ready state, not create state.
670 TEST_F(TTSTest, utc_tts_prepare_n2)
672 int ret = TTS_ERROR_NONE;
673 if (g_supported == false) {
674 ret = tts_prepare(g_tts);
675 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
679 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
681 ret = tts_prepare(g_tts);
682 EXPECT_EQ(ret, TTS_ERROR_NONE);
684 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
686 ret = tts_prepare(g_tts);
687 ASSERT_NE(ret, TTS_ERROR_NONE);
689 tts_unprepare(g_tts);
693 * @testcase utc_tts_prepare_n3
695 * @description test whether function returns error when tts sets screen reader mode without feature on.
697 TEST_F(TTSTest, utc_tts_prepare_n3)
699 if (g_supported == false) {
700 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NOT_SUPPORTED);
704 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
706 EXPECT_EQ(tts_set_mode(g_tts, TTS_MODE_SCREEN_READER), TTS_ERROR_NONE);
707 ASSERT_NE(tts_prepare(g_tts), TTS_ERROR_NONE);
711 * @testcase utc_tts_prepare_n4
713 * @description test whether state does not change to ready. (expired handle)
715 TEST_F(TTSTest, utc_tts_prepare_n4)
717 if (g_supported == false) {
718 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NOT_SUPPORTED);
722 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
724 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
725 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NONE);
727 EXPECT_EQ(false, __is_state_changed(TTS_STATE_READY, 5));
729 EXPECT_EQ(tts_create(&g_tts), TTS_ERROR_NONE);
733 * @testcase utc_tts_prepare_n5
735 * @description test whether state does not change to ready. (screen reader feature off)
737 TEST_F(TTSTest, utc_tts_prepare_n5)
739 if (g_supported == false) {
740 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NOT_SUPPORTED);
744 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
746 EXPECT_EQ(tts_set_mode(g_tts, TTS_MODE_SCREEN_READER), TTS_ERROR_NONE);
747 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, true), 0);
749 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
751 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, false), 0);
752 EXPECT_EQ(false, __is_state_changed(TTS_STATE_READY, 5));
756 * @testcase utc_tts_prepare_sync_p
758 * @description test whether tts daemon is prepared properly.
760 TEST_F(TTSTest, utc_tts_prepare_sync_p)
762 int ret = TTS_ERROR_NONE;
763 if (g_supported == false) {
764 ret = tts_prepare_sync(g_tts);
765 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
769 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
771 ret = tts_prepare_sync(g_tts);
772 EXPECT_EQ(ret, TTS_ERROR_NONE);
774 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
775 ret = tts_unprepare(g_tts);
776 EXPECT_EQ(ret, TTS_ERROR_NONE);
780 * @testcase utc_tts_prepare_sync_n
782 * @description test whether function returns error when tts is not created.
784 TEST_F(TTSTest, utc_tts_prepare_sync_n)
786 int ret = TTS_ERROR_NONE;
787 if (g_supported == false) {
788 ret = tts_prepare_sync(NULL);
789 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
793 ret = tts_prepare_sync(NULL);
794 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
798 * @testcase utc_tts_prepare_sync_n2
800 * @description test whether function returns error when tts is ready state, not create state.
802 TEST_F(TTSTest, utc_tts_prepare_sync_n2)
804 int ret = TTS_ERROR_NONE;
805 if (g_supported == false) {
806 ret = tts_prepare_sync(g_tts);
807 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
811 ret = tts_prepare_sync(g_tts);
812 EXPECT_EQ(ret, TTS_ERROR_NONE);
814 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
816 ret = tts_prepare_sync(g_tts);
817 EXPECT_NE(ret, TTS_ERROR_NONE);
819 ret = tts_unprepare(g_tts);
820 EXPECT_EQ(ret, TTS_ERROR_NONE);
824 * @testcase utc_tts_prepare_sync_n3
826 * @description test whether function returns error when tts sets screen reader mode without feature on.
828 TEST_F(TTSTest, utc_tts_prepare_sync_n3)
830 if (g_supported == false) {
831 EXPECT_EQ(tts_prepare_sync(g_tts), TTS_ERROR_NOT_SUPPORTED);
835 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
837 EXPECT_EQ(tts_set_mode(g_tts, TTS_MODE_SCREEN_READER), TTS_ERROR_NONE);
838 ASSERT_NE(tts_prepare_sync(g_tts), TTS_ERROR_NONE);
842 * @testcase utc_tts_foreach_supported_voices_p
844 * @description test whether each supported voices are gotten properly.
846 TEST_F(TTSTest, utc_tts_foreach_supported_voices_p)
848 int ret = TTS_ERROR_NONE;
849 if (g_supported == false) {
850 ret = tts_foreach_supported_voices(g_tts, __tts_supported_voice_cb, NULL);
851 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
855 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
856 ret = tts_foreach_supported_voices(g_tts, __tts_supported_voice_cb, NULL);
857 EXPECT_EQ(ret, TTS_ERROR_NONE);
861 * @testcase utc_tts_foreach_supported_voices_n
863 * @description test whether function returns error with NULL parameter.
865 TEST_F(TTSTest, utc_tts_foreach_supported_voices_n)
867 int ret = TTS_ERROR_NONE;
868 if (g_supported == false) {
869 ret = tts_foreach_supported_voices(NULL, __tts_supported_voice_cb, NULL);
870 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
874 ret = tts_foreach_supported_voices(NULL, __tts_supported_voice_cb, NULL);
875 ASSERT_NE(ret, TTS_ERROR_NONE);
879 * @testcase utc_tts_foreach_supported_voices_n2
881 * @description test whether function returns error when tts handle is already destroyed.
883 TEST_F(TTSTest, utc_tts_foreach_supported_voices_n2)
885 int ret = TTS_ERROR_NONE;
886 if (g_supported == false) {
887 ret = tts_foreach_supported_voices(NULL, __tts_supported_voice_cb, NULL);
888 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
891 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
893 ret = tts_destroy(g_tts);
894 EXPECT_EQ(ret, TTS_ERROR_NONE);
896 ret = tts_foreach_supported_voices(g_tts, __tts_supported_voice_cb, NULL);
897 ASSERT_NE(ret, TTS_ERROR_NONE);
899 ret = tts_create(&g_tts);
900 EXPECT_EQ(ret, TTS_ERROR_NONE);
905 * @testcase utc_tts_get_default_voice_p
907 * @description test whether default voice is gotten properly.
909 TEST_F(TTSTest, utc_tts_get_default_voice_p)
911 int ret = TTS_ERROR_NONE;
912 if (g_supported == false) {
913 ret = tts_get_default_voice(g_tts, &g_language, &g_voice_type);
914 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
920 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
921 ret = tts_get_default_voice(g_tts, &g_language, &g_voice_type);
922 EXPECT_EQ(ret, TTS_ERROR_NONE);
926 * @testcase utc_tts_get_default_voice_n
928 * @description test whether function returns error with NULL parameter.
930 TEST_F(TTSTest, utc_tts_get_default_voice_n)
932 int ret = TTS_ERROR_NONE;
933 if (g_supported == false) {
934 ret = tts_get_default_voice(NULL, &g_language, &g_voice_type);
935 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
941 ret = tts_get_default_voice(NULL, &g_language, &g_voice_type);
942 ASSERT_NE(ret, TTS_ERROR_NONE);
946 * @testcase utc_tts_get_default_voice_n2
948 * @description test whether function returns error when tts handle is already destroyed.
950 TEST_F(TTSTest, utc_tts_get_default_voice_n2)
952 int ret = TTS_ERROR_NONE;
953 if (g_supported == false) {
954 ret = tts_get_default_voice(NULL, &g_language, &g_voice_type);
955 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
961 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
963 ret = tts_destroy(g_tts);
964 EXPECT_EQ(ret, TTS_ERROR_NONE);
966 ret = tts_get_default_voice(g_tts, &g_language, &g_voice_type);
967 ASSERT_NE(ret, TTS_ERROR_NONE);
969 ret = tts_create(&g_tts);
970 EXPECT_EQ(ret, TTS_ERROR_NONE);
974 * @testcase utc_tts_get_default_voice_n3
976 * @description test whether function returns error with NULL parameter as type.
978 TEST_F(TTSTest, utc_tts_get_default_voice_n3)
980 int ret = TTS_ERROR_NONE;
981 if (g_supported == false) {
982 ret = tts_get_default_voice(NULL, &g_language, &g_voice_type);
983 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
989 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
991 ret = tts_get_default_voice(g_tts, &g_language, NULL);
992 ASSERT_NE(ret, TTS_ERROR_NONE);
997 * @testcase utc_tts_get_max_text_size_p
999 * @description test whether max text size is gotten properly.
1001 TEST_F(TTSPreparedTest, utc_tts_get_max_text_size_p)
1004 int ret = TTS_ERROR_NONE;
1005 if (g_supported == false) {
1006 ret = tts_get_max_text_size(g_tts, &size);
1007 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1011 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1013 ret = tts_get_max_text_size(g_tts, &size);
1014 EXPECT_EQ(ret, TTS_ERROR_NONE);
1018 * @testcase utc_tts_get_max_text_size_n
1020 * @description test whether function returns error with NULL parameter.
1022 TEST_F(TTSTest, utc_tts_get_max_text_size_n)
1025 int ret = TTS_ERROR_NONE;
1026 if (g_supported == false) {
1027 ret = tts_get_max_text_size(NULL, &size);
1028 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1032 ret = tts_get_max_text_size(NULL, &size);
1033 ASSERT_NE(ret, TTS_ERROR_NONE);
1037 * @testcase utc_tts_get_max_text_size_n2
1039 * @description test whether function returns error when tts handle is already destroyed.
1041 TEST_F(TTSTest, utc_tts_get_max_text_size_n2)
1044 int ret = TTS_ERROR_NONE;
1045 if (g_supported == false) {
1046 ret = tts_get_max_text_size(NULL, &size);
1047 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1050 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1052 ret = tts_destroy(g_tts);
1053 EXPECT_EQ(ret, TTS_ERROR_NONE);
1055 ret = tts_get_max_text_size(g_tts, &size);
1056 ASSERT_NE(ret, TTS_ERROR_NONE);
1058 ret = tts_create(&g_tts);
1059 EXPECT_EQ(ret, TTS_ERROR_NONE);
1064 * @testcase utc_tts_get_max_text_size_n3
1066 * @description test whether function returns error when tts is in create state.
1068 TEST_F(TTSTest, utc_tts_get_max_text_size_n3)
1071 int ret = TTS_ERROR_NONE;
1072 if (g_supported == false) {
1073 ret = tts_get_max_text_size(NULL, &size);
1074 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1077 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1079 ret = tts_get_max_text_size(g_tts, &size);
1080 ASSERT_NE(ret, TTS_ERROR_NONE);
1085 * @testcase utc_tts_get_state_p
1087 * @description test whether state is gotten properly in create state.
1089 TEST_F(TTSTest, utc_tts_get_state_p)
1092 int ret = TTS_ERROR_NONE;
1093 if (g_supported == false) {
1094 ret = tts_get_state(g_tts, &state);
1095 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1099 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1101 ret = tts_get_state(g_tts, &state);
1102 EXPECT_EQ(ret, TTS_ERROR_NONE);
1106 * @testcase utc_tts_get_state_p2
1108 * @description test whether state is gotten properly in ready state.
1110 TEST_F(TTSPreparedTest, utc_tts_get_state_p2)
1113 int ret = TTS_ERROR_NONE;
1114 if (g_supported == false) {
1115 ret = tts_get_state(g_tts, &state);
1116 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1119 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1121 ret = tts_get_state(g_tts, &state);
1122 EXPECT_EQ(ret, TTS_ERROR_NONE);
1127 * @testcase utc_tts_get_state_p3
1129 * @description test whether state is gotten properly in play state.
1131 TEST_F(TTSPreparedTest, utc_tts_get_state_p3)
1134 int ret = TTS_ERROR_NONE;
1135 if (g_supported == false) {
1136 ret = tts_get_state(g_tts, &state);
1137 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1140 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1142 ret = tts_play(g_tts);
1143 EXPECT_EQ(ret, TTS_ERROR_NONE);
1145 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1147 ret = tts_get_state(g_tts, &state);
1148 EXPECT_EQ(ret, TTS_ERROR_NONE);
1150 ret = tts_stop(g_tts);
1151 EXPECT_EQ(ret, TTS_ERROR_NONE);
1153 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1157 * @testcase utc_tts_get_state_p4
1159 * @description test whether state is gotten properly in pause state.
1161 TEST_F(TTSPreparedTest, utc_tts_get_state_p4)
1164 int ret = TTS_ERROR_NONE;
1165 if (g_supported == false) {
1166 ret = tts_get_state(g_tts, &state);
1167 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1170 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1172 ret = tts_play(g_tts);
1173 EXPECT_EQ(ret, TTS_ERROR_NONE);
1175 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1177 ret = tts_pause(g_tts);
1178 EXPECT_EQ(ret, TTS_ERROR_NONE);
1180 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PAUSED, 5));
1182 ret = tts_get_state(g_tts, &state);
1183 EXPECT_EQ(ret, TTS_ERROR_NONE);
1185 ret = tts_stop(g_tts);
1186 EXPECT_EQ(ret, TTS_ERROR_NONE);
1188 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1193 * @testcase utc_tts_get_state_n
1195 * @description test whether function returns error with NULL parameter.
1197 TEST_F(TTSTest, utc_tts_get_state_n)
1200 int ret = TTS_ERROR_NONE;
1201 if (g_supported == false) {
1202 ret = tts_get_state(NULL, &state);
1203 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1206 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1208 ret = tts_get_state(NULL, &state);
1209 ASSERT_NE(ret, TTS_ERROR_NONE);
1213 * @testcase utc_tts_get_state_n2
1215 * @description test whether function returns error when tts handle is already destroyed.
1217 TEST_F(TTSTest, utc_tts_get_state_n2)
1220 int ret = TTS_ERROR_NONE;
1221 if (g_supported == false) {
1222 ret = tts_get_state(g_tts, &state);
1223 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1226 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1228 ret = tts_destroy(g_tts);
1229 EXPECT_EQ(ret, TTS_ERROR_NONE);
1231 ret = tts_get_state(g_tts, &state);
1232 ASSERT_NE(ret, TTS_ERROR_NONE);
1234 ret = tts_create(&g_tts);
1235 EXPECT_EQ(ret, TTS_ERROR_NONE);
1240 * @testcase utc_tts_get_service_state_p
1242 * @description test whether state is gotten properly in service state ready
1244 TEST_F(TTSPreparedTest, utc_tts_get_service_state_p)
1246 tts_service_state_e state;
1247 if (g_supported == false) {
1248 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NOT_SUPPORTED);
1252 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1254 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NONE);
1255 EXPECT_EQ(state, TTS_SERVICE_STATE_READY);
1259 * @testcase utc_tts_get_service_state_p2
1261 * @description test whether state is gotten properly when client requests to play.
1263 TEST_F(TTSTest, utc_tts_get_service_state_p2)
1265 tts_service_state_e state;
1266 if (g_supported == false) {
1267 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NOT_SUPPORTED);
1270 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1272 g_current_service_state = TTS_SERVICE_STATE_READY;
1273 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NONE);
1274 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
1275 EXPECT_EQ(__is_state_changed(TTS_STATE_READY, STATE_CHECK_WAITING_TIME), true);
1277 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NONE);
1278 EXPECT_EQ(state, TTS_SERVICE_STATE_READY);
1281 EXPECT_EQ(tts_add_text(g_tts, "1 2 3 4 5", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id), TTS_ERROR_NONE);
1282 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NONE);
1284 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NONE);
1285 EXPECT_EQ(state, TTS_SERVICE_STATE_SYNTHESIZING);
1287 EXPECT_EQ(__is_service_state_changed(TTS_SERVICE_STATE_PLAYING, STATE_CHECK_WAITING_TIME), true);
1288 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NONE);
1289 EXPECT_EQ(state, TTS_SERVICE_STATE_PLAYING);
1291 EXPECT_EQ(tts_stop(g_tts), TTS_ERROR_NONE);
1293 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
1297 * @testcase utc_tts_get_service_state_n
1299 * @description test whether function returns error with NULL parameter.
1301 TEST_F(TTSPreparedTest, utc_tts_get_service_state_n)
1303 tts_service_state_e state;
1304 if (g_supported == false) {
1305 EXPECT_EQ(tts_get_service_state(nullptr, &state), TTS_ERROR_NOT_SUPPORTED);
1308 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1310 EXPECT_EQ(tts_get_service_state(nullptr, &state), TTS_ERROR_INVALID_PARAMETER);
1314 * @testcase utc_tts_get_service_state_n2
1316 * @description test whether function returns error when tts handle is already destroyed.
1318 TEST_F(TTSTest, utc_tts_get_service_state_n2)
1320 tts_service_state_e state;
1321 if (g_supported == false) {
1322 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NOT_SUPPORTED);
1325 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1327 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NONE);
1328 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_INVALID_PARAMETER);
1329 EXPECT_EQ(tts_create(&g_tts), TTS_ERROR_NONE);
1333 * @testcase utc_tts_get_service_state_n3
1335 * @description test whether function returns error when tts is in create state.
1337 TEST_F(TTSTest, utc_tts_get_service_state_n3)
1339 tts_service_state_e state;
1340 if (g_supported == false) {
1341 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_NOT_SUPPORTED);
1344 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1346 EXPECT_EQ(tts_get_service_state(g_tts, &state), TTS_ERROR_INVALID_STATE);
1351 * @testcase utc_tts_add_text_p
1353 * @description test whether text is added properly.
1355 TEST_F(TTSPreparedTest, utc_tts_add_text_p)
1358 int ret = TTS_ERROR_NONE;
1359 if (g_supported == false) {
1360 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1361 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1364 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1366 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1367 EXPECT_EQ(ret, TTS_ERROR_NONE);
1371 * @testcase utc_tts_add_text_n
1373 * @description test whether function returns error with NULL parameter.
1375 TEST_F(TTSTest, utc_tts_add_text_n)
1378 int ret = TTS_ERROR_NONE;
1379 if (g_supported == false) {
1380 ret = tts_add_text(NULL, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1381 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1384 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1386 ret = tts_add_text(NULL, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1387 ASSERT_NE(ret, TTS_ERROR_NONE);
1391 * @testcase utc_tts_add_text_n2
1393 * @description test whether function returns error when tts handle is already destroyed.
1395 TEST_F(TTSTest, utc_tts_add_text_n2)
1398 int ret = TTS_ERROR_NONE;
1399 if (g_supported == false) {
1400 ret = tts_add_text(NULL, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1401 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1404 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1406 ret = tts_destroy(g_tts);
1407 EXPECT_EQ(ret, TTS_ERROR_NONE);
1409 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1410 ASSERT_NE(ret, TTS_ERROR_NONE);
1412 ret = tts_create(&g_tts);
1413 EXPECT_EQ(ret, TTS_ERROR_NONE);
1417 * @testcase utc_tts_add_text_n3
1419 * @description test whether function returns error when tts is in create state.
1421 TEST_F(TTSTest, utc_tts_add_text_n3)
1424 int ret = TTS_ERROR_NONE;
1425 if (g_supported == false) {
1426 ret = tts_add_text(NULL, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1427 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1430 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1432 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1433 ASSERT_NE(ret, TTS_ERROR_NONE);
1437 * @testcase utc_tts_add_text_n4
1439 * @description test whether function returns error when text is over max text size.
1441 TEST_F(TTSPreparedTest, utc_tts_add_text_n4)
1444 int ret = TTS_ERROR_NONE;
1445 if (g_supported == false) {
1446 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1447 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1450 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1452 ret = tts_add_text(g_tts, g_text, g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1453 ASSERT_NE(ret, TTS_ERROR_NONE);
1457 * @testcase utc_tts_add_text_n5
1459 * @description test whether function returns error when tts speed is abnormal.
1461 TEST_F(TTSPreparedTest, utc_tts_add_text_n5)
1465 int ret = TTS_ERROR_NONE;
1466 if (g_supported == false) {
1467 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1468 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1471 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1473 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, speed, &utt_id);
1474 ASSERT_NE(ret, TTS_ERROR_NONE);
1478 * @testcase utc_tts_add_text_n6
1480 * @description test whether function returns error with empty string.
1482 TEST_F(TTSPreparedTest, utc_tts_add_text_n6)
1485 if (g_supported == false) {
1486 EXPECT_EQ(tts_add_text(g_tts, "", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id), TTS_ERROR_NOT_SUPPORTED);
1489 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1491 EXPECT_NE(tts_add_text(g_tts, "", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id), TTS_ERROR_NONE);
1495 * @testcase utc_tts_play_p
1497 * @description test whether tts is played properly.
1499 TEST_F(TTSPreparedTest, utc_tts_play_p)
1501 int ret = TTS_ERROR_NONE;
1502 if (g_supported == false) {
1503 ret = tts_play(g_tts);
1504 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1508 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1510 ret = tts_play(g_tts);
1511 EXPECT_EQ(ret, TTS_ERROR_NONE);
1513 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1515 ret = tts_stop(g_tts);
1516 EXPECT_EQ(ret, TTS_ERROR_NONE);
1518 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1522 * @testcase utc_tts_play_p2
1524 * @description test whether tts is played all text properly.
1526 TEST_F(TTSPreparedWithUttCbTest, utc_tts_play_p2)
1529 int ret = TTS_ERROR_NONE;
1531 if (g_supported == false) {
1532 ret = tts_play(g_tts);
1533 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1536 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1538 g_utterance_completed_cb = false;
1540 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1541 EXPECT_EQ(ret, TTS_ERROR_NONE);
1543 ret = tts_play(g_tts);
1544 EXPECT_EQ(ret, TTS_ERROR_NONE);
1546 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1548 while (true != g_utterance_completed_cb) {
1549 ecore_main_loop_iterate();
1552 ret = tts_stop(g_tts);
1553 EXPECT_EQ(ret, TTS_ERROR_NONE);
1555 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1559 * @testcase utc_tts_play_p3
1561 * @description test whether tts is played all text properly.
1563 TEST_F(TTSPreparedWithUttCbTest, utc_tts_play_p3)
1565 if (g_supported == false) {
1566 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NOT_SUPPORTED);
1570 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1572 g_utterance_completed_cb = false;
1576 EXPECT_EQ(tts_add_text(g_tts, "1 2 3 4 5", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id1), TTS_ERROR_NONE);
1577 EXPECT_EQ(tts_add_text(g_tts, "1 2 3 4 5", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id2), TTS_ERROR_NONE);
1579 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NONE);
1580 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1582 while (true != g_utterance_completed_cb) {
1583 ecore_main_loop_iterate();
1585 g_utterance_completed_cb = false;
1586 EXPECT_EQ(utt_id1, g_utt_id);
1588 while (true != g_utterance_completed_cb) {
1589 ecore_main_loop_iterate();
1591 EXPECT_EQ(utt_id2, g_utt_id);
1593 EXPECT_EQ(tts_stop(g_tts), TTS_ERROR_NONE);
1594 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1598 * @testcase utc_tts_play_p4
1600 * @description test whether tts is played properly.
1602 TEST_F(TTSPreparedTest, utc_tts_play_p4)
1604 if (g_supported == false) {
1605 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NOT_SUPPORTED);
1609 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1612 EXPECT_EQ(tts_create(&tts), TTS_ERROR_NONE);
1613 EXPECT_EQ(tts_prepare_sync(tts), TTS_ERROR_NONE);
1615 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NONE);
1616 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1618 EXPECT_EQ(tts_play(tts), TTS_ERROR_NONE);
1619 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1621 EXPECT_EQ(tts_stop(g_tts), TTS_ERROR_NONE);
1622 EXPECT_EQ(tts_stop(tts), TTS_ERROR_NONE);
1623 EXPECT_EQ(tts_unprepare(tts), TTS_ERROR_NONE);
1624 EXPECT_EQ(tts_destroy(tts), TTS_ERROR_NONE);
1629 * @testcase utc_tts_play_n
1631 * @description test whether function returns error with NULL parameter.
1633 TEST_F(TTSTest, utc_tts_play_n)
1635 int ret = TTS_ERROR_NONE;
1636 if (g_supported == false) {
1637 ret = tts_play(NULL);
1638 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1641 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1643 ret = tts_play(NULL);
1644 ASSERT_NE(ret, TTS_ERROR_NONE);
1648 * @testcase utc_tts_play_n2
1650 * @description test whether function returns error when tts handle is already destroyed.
1652 TEST_F(TTSTest, utc_tts_play_n2)
1654 int ret = TTS_ERROR_NONE;
1655 if (g_supported == false) {
1656 ret = tts_play(g_tts);
1657 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1660 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1662 ret = tts_destroy(g_tts);
1663 EXPECT_EQ(ret, TTS_ERROR_NONE);
1665 ret = tts_play(g_tts);
1666 ASSERT_NE(ret, TTS_ERROR_NONE);
1668 ret = tts_create(&g_tts);
1669 EXPECT_EQ(ret, TTS_ERROR_NONE);
1673 * @testcase utc_tts_play_n3
1675 * @description test whether function returns error when tts is in create state.
1677 TEST_F(TTSTest, utc_tts_play_n3)
1679 int ret = TTS_ERROR_NONE;
1680 if (g_supported == false) {
1681 ret = tts_play(g_tts);
1682 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1685 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1687 ret = tts_play(g_tts);
1688 ASSERT_NE(ret, TTS_ERROR_NONE);
1692 * @testcase utc_tts_play_n4
1694 * @description test whether function returns error when interrupt mode client plays.
1696 TEST_F(TTSPreparedTest, utc_tts_play_n4)
1698 if (g_supported == false) {
1699 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NOT_SUPPORTED);
1703 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1706 EXPECT_EQ(tts_create(&tts), TTS_ERROR_NONE);
1707 EXPECT_EQ(tts_set_mode(tts, (tts_mode_e)TTS_MODE_INTERRUPT), TTS_ERROR_NONE);
1708 EXPECT_EQ(tts_prepare_sync(tts), TTS_ERROR_NONE);
1710 EXPECT_EQ(tts_play(tts), TTS_ERROR_NONE);
1711 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1713 EXPECT_NE(tts_play(g_tts), TTS_ERROR_NONE);
1715 EXPECT_EQ(tts_stop(tts), TTS_ERROR_NONE);
1716 EXPECT_EQ(tts_unprepare(tts), TTS_ERROR_NONE);
1717 EXPECT_EQ(tts_destroy(tts), TTS_ERROR_NONE);
1722 * @testcase utc_tts_pause_p
1724 * @description test whether tts is paused properly.
1726 TEST_F(TTSPreparedTest, utc_tts_pause_p)
1728 int ret = TTS_ERROR_NONE;
1729 if (g_supported == false) {
1730 ret = tts_pause(g_tts);
1731 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1735 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1737 ret = tts_play(g_tts);
1738 EXPECT_EQ(ret, TTS_ERROR_NONE);
1740 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1742 ret = tts_pause(g_tts);
1743 EXPECT_EQ(ret, TTS_ERROR_NONE);
1745 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PAUSED, 5));
1747 ret = tts_stop(g_tts);
1748 EXPECT_EQ(ret, TTS_ERROR_NONE);
1750 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1754 * @testcase utc_tts_pause_n
1756 * @description test whether function returns error with NULL parameter.
1758 TEST_F(TTSTest, utc_tts_pause_n)
1760 int ret = TTS_ERROR_NONE;
1761 if (g_supported == false) {
1762 ret = tts_pause(NULL);
1763 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1766 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1768 ret = tts_pause(NULL);
1769 ASSERT_NE(ret, TTS_ERROR_NONE);
1773 * @testcase utc_tts_pause_n2
1775 * @description test whether function returns error when tts handle is already destroyed.
1777 TEST_F(TTSTest, utc_tts_pause_n2)
1779 int ret = TTS_ERROR_NONE;
1780 if (g_supported == false) {
1781 ret = tts_pause(NULL);
1782 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1785 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1787 ret = tts_destroy(g_tts);
1788 EXPECT_EQ(ret, TTS_ERROR_NONE);
1790 ret = tts_pause(g_tts);
1791 ASSERT_NE(ret, TTS_ERROR_NONE);
1793 ret = tts_create(&g_tts);
1794 EXPECT_EQ(ret, TTS_ERROR_NONE);
1798 * @testcase utc_tts_pause_n3
1800 * @description test whether function returns error when tts is in create state.
1802 TEST_F(TTSTest, utc_tts_pause_n3)
1804 int ret = TTS_ERROR_NONE;
1805 if (g_supported == false) {
1806 ret = tts_pause(NULL);
1807 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1810 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1812 ret = tts_pause(g_tts);
1813 ASSERT_NE(ret, TTS_ERROR_NONE);
1817 * @testcase utc_tts_stop_p
1819 * @description test whether tts is stopped properly.
1821 TEST_F(TTSPreparedTest, utc_tts_stop_p)
1823 int ret = TTS_ERROR_NONE;
1824 if (g_supported == false) {
1825 ret = tts_stop(g_tts);
1826 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1830 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1832 ret = tts_play(g_tts);
1833 EXPECT_EQ(ret, TTS_ERROR_NONE);
1835 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1837 ret = tts_stop(g_tts);
1838 EXPECT_EQ(ret, TTS_ERROR_NONE);
1840 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1844 * @testcase utc_tts_stop_n
1846 * @description test whether function returns error with NULL parameter.
1848 TEST_F(TTSTest, utc_tts_stop_n)
1850 int ret = TTS_ERROR_NONE;
1851 if (g_supported == false) {
1852 ret = tts_stop(NULL);
1853 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1856 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1858 ret = tts_stop(NULL);
1859 ASSERT_NE(ret, TTS_ERROR_NONE);
1863 * @testcase utc_tts_stop_n2
1865 * @description test whether function returns error when tts handle is already destroyed.
1867 TEST_F(TTSTest, utc_tts_stop_n2)
1869 int ret = TTS_ERROR_NONE;
1870 if (g_supported == false) {
1871 ret = tts_stop(NULL);
1872 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1875 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1877 ret = tts_destroy(g_tts);
1878 EXPECT_EQ(ret, TTS_ERROR_NONE);
1880 ret = tts_stop(g_tts);
1881 ASSERT_NE(ret, TTS_ERROR_NONE);
1883 ret = tts_create(&g_tts);
1884 EXPECT_EQ(ret, TTS_ERROR_NONE);
1888 * @testcase utc_tts_stop_n3
1890 * @description test whether function returns error when tts is in create state.
1892 TEST_F(TTSTest, utc_tts_stop_n3)
1894 int ret = TTS_ERROR_NONE;
1895 if (g_supported == false) {
1896 ret = tts_stop(NULL);
1897 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1900 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1902 ret = tts_stop(g_tts);
1903 ASSERT_NE(ret, TTS_ERROR_NONE);
1907 * @testcase utc_tts_repeat_p
1909 * @description test whether tts is repeated properly.
1911 TEST_F(TTSPreparedWithUttCbTest, utc_tts_repeat_p)
1913 int ret = TTS_ERROR_NONE;
1914 char* text_repeat = NULL;
1917 if (g_supported == false) {
1918 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
1919 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1923 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1925 g_utterance_completed_cb = false;
1927 ret = tts_add_text(g_tts, "repeat success", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
1928 EXPECT_EQ(ret, TTS_ERROR_NONE);
1930 ret = tts_play(g_tts);
1931 EXPECT_EQ(ret, TTS_ERROR_NONE);
1933 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1935 while (true != g_utterance_completed_cb) {
1936 ecore_main_loop_iterate();
1939 ret = tts_stop(g_tts);
1940 EXPECT_EQ(ret, TTS_ERROR_NONE);
1942 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1944 g_utterance_completed_cb = false;
1946 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
1947 EXPECT_EQ(ret, TTS_ERROR_NONE);
1949 ret = strncmp(text_repeat, "repeat success", strlen(text_repeat));
1953 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
1955 while (true != g_utterance_completed_cb) {
1956 ecore_main_loop_iterate();
1959 EXPECT_EQ(utt_id, g_utt_id);
1961 ret = tts_stop(g_tts);
1962 EXPECT_EQ(ret, TTS_ERROR_NONE);
1964 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
1968 * @testcase utc_tts_repeat_n
1970 * @description test whether function returns error with NULL parameter.
1972 TEST_F(TTSTest, utc_tts_repeat_n)
1974 int ret = TTS_ERROR_NONE;
1976 if (g_supported == false) {
1977 ret = tts_repeat(g_tts, NULL, NULL);
1978 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
1982 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
1984 ret = tts_repeat(g_tts, NULL, NULL);
1985 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
1989 * @testcase utc_tts_repeat_n2
1991 * @description test whether function returns error with invalid state.
1993 TEST_F(TTSTest, utc_tts_repeat_n2)
1995 int ret = TTS_ERROR_NONE;
1996 char* text_repeat = NULL;
1999 if (g_supported == false) {
2000 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
2001 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2005 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2007 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
2008 EXPECT_EQ(ret, TTS_ERROR_INVALID_STATE);
2012 * @testcase utc_tts_repeat_n3
2014 * @description test whether function returns error with operation failed when there is no previous text.
2016 TEST_F(TTSTest, utc_tts_repeat_n3)
2018 int ret = TTS_ERROR_NONE;
2019 char* text_repeat = NULL;
2022 if (g_supported == false) {
2023 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
2024 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2028 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2030 ret = tts_prepare(g_tts);
2031 EXPECT_EQ(ret, TTS_ERROR_NONE);
2033 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2035 ret = tts_repeat(g_tts, &text_repeat, &utt_id);
2036 EXPECT_EQ(ret, TTS_ERROR_OPERATION_FAILED);
2038 ret = tts_unprepare(g_tts);
2039 EXPECT_EQ(ret, TTS_ERROR_NONE);
2043 * @testcase utc_tts_unprepare_p
2045 * @description test whether tts is unprepared properly.
2047 TEST_F(TTSTest, utc_tts_unprepare_p)
2049 int ret = TTS_ERROR_NONE;
2050 if (g_supported == false) {
2051 ret = tts_unprepare(g_tts);
2052 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2056 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2058 ret = tts_prepare(g_tts);
2059 EXPECT_EQ(ret, TTS_ERROR_NONE);
2061 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2063 ret = tts_unprepare(g_tts);
2064 EXPECT_EQ(ret, TTS_ERROR_NONE);
2068 * @testcase utc_tts_unprepare_p2
2070 * @description test whether tts is unprepared properly when tts is in notification mode.
2072 TEST_F(TTSTest, utc_tts_unprepare_p2)
2074 int ret = TTS_ERROR_NONE;
2075 if (g_supported == false) {
2076 ret = tts_unprepare(g_tts);
2077 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2080 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2082 ret = tts_set_mode(g_tts, TTS_MODE_NOTIFICATION);
2083 EXPECT_EQ(ret, TTS_ERROR_NONE);
2085 ret = tts_prepare(g_tts);
2086 EXPECT_EQ(ret, TTS_ERROR_NONE);
2088 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2090 ret = tts_unprepare(g_tts);
2091 EXPECT_EQ(ret, TTS_ERROR_NONE);
2095 * @testcase utc_tts_unprepare_p3
2097 * @description test whether tts is unprepared properly when tts is in screen reader mode.
2099 TEST_F(TTSTest, utc_tts_unprepare_p3)
2101 if (g_supported == false) {
2102 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NOT_SUPPORTED);
2105 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2107 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, true), 0);
2108 EXPECT_EQ(tts_set_mode(g_tts, TTS_MODE_SCREEN_READER), TTS_ERROR_NONE);
2109 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
2110 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2113 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, false), 0);
2114 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
2117 TEST_F(TTSTest, utc_tts_unprepare_n)
2119 int ret = tts_unprepare(NULL);
2120 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
2124 * @testcase utc_tts_unprepare_n2
2126 * @description test whether function returns error when tts handle is already destroyed.
2128 TEST_F(TTSTest, utc_tts_unprepare_n2)
2130 int ret = TTS_ERROR_NONE;
2131 if (g_supported == false) {
2132 ret = tts_unprepare(NULL);
2133 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2136 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2138 ret = tts_destroy(g_tts);
2139 EXPECT_EQ(ret, TTS_ERROR_NONE);
2141 ret = tts_unprepare(g_tts);
2142 ASSERT_NE(ret, TTS_ERROR_NONE);
2144 ret = tts_create(&g_tts);
2145 EXPECT_EQ(ret, TTS_ERROR_NONE);
2149 * @testcase utc_tts_unprepare_n3
2151 * @description test whether function returns error when tts is in create state.
2153 TEST_F(TTSTest, utc_tts_unprepare_n3)
2155 int ret = TTS_ERROR_NONE;
2156 if (g_supported == false) {
2157 ret = tts_unprepare(NULL);
2158 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2161 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2163 ret = tts_unprepare(g_tts);
2164 ASSERT_NE(ret, TTS_ERROR_NONE);
2168 * @testcase utc_tts_set_state_changed_cb_p
2170 * @description test whether state_changed callback function is set properly.
2172 TEST_F(TTSTest, utc_tts_set_state_changed_cb_p)
2174 int ret = TTS_ERROR_NONE;
2175 if (g_supported == false) {
2176 ret = tts_set_state_changed_cb(g_tts, __tts_state_changed_cb, NULL);
2177 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2181 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2182 ret = tts_set_state_changed_cb(g_tts, __tts_state_changed_cb, NULL);
2183 EXPECT_EQ(ret, TTS_ERROR_NONE);
2187 * @testcase utc_tts_set_state_changed_cb_n
2189 * @description test whether function returns error with NULL parameter.
2191 TEST_F(TTSTest, utc_tts_set_state_changed_cb_n)
2193 int ret = TTS_ERROR_NONE;
2194 if (g_supported == false) {
2195 ret = tts_set_state_changed_cb(NULL, __tts_state_changed_cb, NULL);
2196 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2199 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2201 ret = tts_set_state_changed_cb(NULL, __tts_state_changed_cb, NULL);
2202 ASSERT_NE(ret, TTS_ERROR_NONE);
2206 * @testcase utc_tts_set_state_changed_cb_n2
2208 * @description test whether function returns error when tts handle is already destroyed.
2210 TEST_F(TTSTest, utc_tts_set_state_changed_cb_n2)
2212 int ret = TTS_ERROR_NONE;
2213 if (g_supported == false) {
2214 ret = tts_set_state_changed_cb(NULL, __tts_state_changed_cb, NULL);
2215 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2218 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2220 ret = tts_destroy(g_tts);
2221 EXPECT_EQ(ret, TTS_ERROR_NONE);
2223 ret = tts_set_state_changed_cb(g_tts, __tts_state_changed_cb, NULL);
2224 ASSERT_NE(ret, TTS_ERROR_NONE);
2226 ret = tts_create(&g_tts);
2227 EXPECT_EQ(ret, TTS_ERROR_NONE);
2231 * @testcase utc_tts_set_state_changed_cb_n3
2233 * @description test whether function returns error when tts is not in create state.
2235 TEST_F(TTSPreparedTest, utc_tts_set_state_changed_cb_n3)
2237 int ret = TTS_ERROR_NONE;
2238 if (g_supported == false) {
2239 ret = tts_set_state_changed_cb(NULL, __tts_state_changed_cb, NULL);
2240 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2243 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2245 ret = tts_set_state_changed_cb(g_tts, __tts_state_changed_cb, NULL);
2246 ASSERT_NE(ret, TTS_ERROR_NONE);
2250 * @testcase utc_tts_unset_state_changed_cb_p
2252 * @description test whether state_changed callback function is unset properly.
2254 TEST_F(TTSTest, utc_tts_unset_state_changed_cb_p)
2256 int ret = TTS_ERROR_NONE;
2257 if (g_supported == false) {
2258 ret = tts_unset_state_changed_cb(g_tts);
2259 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2263 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2264 ret = tts_unset_state_changed_cb(g_tts);
2265 EXPECT_EQ(ret, TTS_ERROR_NONE);
2269 * @testcase utc_tts_unset_state_changed_cb_n
2271 * @description test whether function returns error with NULL parameter.
2273 TEST_F(TTSTest, utc_tts_unset_state_changed_cb_n)
2275 int ret = TTS_ERROR_NONE;
2276 if (g_supported == false) {
2277 ret = tts_unset_state_changed_cb(NULL);
2278 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2282 ret = tts_unset_state_changed_cb(NULL);
2283 ASSERT_NE(ret, TTS_ERROR_NONE);
2287 * @testcase utc_tts_unset_state_changed_cb_n2
2289 * @description test whether function returns error when tts handle is already destroyed.
2291 TEST_F(TTSTest, utc_tts_unset_state_changed_cb_n2)
2293 int ret = TTS_ERROR_NONE;
2294 if (g_supported == false) {
2295 ret = tts_unset_state_changed_cb(NULL);
2296 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2299 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2301 ret = tts_destroy(g_tts);
2302 EXPECT_EQ(ret, TTS_ERROR_NONE);
2304 ret = tts_unset_state_changed_cb(g_tts);
2305 ASSERT_NE(ret, TTS_ERROR_NONE);
2307 ret = tts_create(&g_tts);
2308 EXPECT_EQ(ret, TTS_ERROR_NONE);
2312 * @testcase utc_tts_unset_state_changed_cb_n3
2314 * @description test whether function returns error when tts is not in create state.
2316 TEST_F(TTSPreparedTest, utc_tts_unset_state_changed_cb_n3)
2318 int ret = TTS_ERROR_NONE;
2319 if (g_supported == false) {
2320 ret = tts_unset_state_changed_cb(NULL);
2321 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2324 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2326 ret = tts_unset_state_changed_cb(g_tts);
2327 ASSERT_NE(ret, TTS_ERROR_NONE);
2331 * @testcase utc_tts_set_utterance_started_cb_p
2333 * @description test whether utterance_started callback function is set properly.
2335 TEST_F(TTSTest, utc_tts_set_utterance_started_cb_p)
2337 int ret = TTS_ERROR_NONE;
2338 if (g_supported == false) {
2339 ret = tts_set_utterance_started_cb(g_tts, __tts_utterance_started_cb, NULL);
2340 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2344 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2345 ret = tts_set_utterance_started_cb(g_tts, __tts_utterance_started_cb, NULL);
2346 EXPECT_EQ(ret, TTS_ERROR_NONE);
2350 * @testcase utc_tts_set_utterance_started_cb_n
2352 * @description test whether function returns error with NULL parameter.
2354 TEST_F(TTSTest, utc_tts_set_utterance_started_cb_n)
2356 int ret = TTS_ERROR_NONE;
2357 if (g_supported == false) {
2358 ret = tts_set_utterance_started_cb(NULL, __tts_utterance_started_cb, NULL);
2359 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2363 ret = tts_set_utterance_started_cb(NULL, __tts_utterance_started_cb, NULL);
2364 EXPECT_NE(ret, TTS_ERROR_NONE);
2368 * @testcase utc_tts_set_utterance_started_cb_n2
2370 * @description test whether function returns error when tts handle is already destroyed.
2372 TEST_F(TTSTest, utc_tts_set_utterance_started_cb_n2)
2374 int ret = TTS_ERROR_NONE;
2375 if (g_supported == false) {
2376 ret = tts_set_utterance_started_cb(NULL, __tts_utterance_started_cb, NULL);
2377 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2380 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2382 ret = tts_destroy(g_tts);
2383 EXPECT_EQ(ret, TTS_ERROR_NONE);
2385 ret = tts_set_utterance_started_cb(g_tts, __tts_utterance_started_cb, NULL);
2386 ASSERT_NE(ret, TTS_ERROR_NONE);
2388 ret = tts_create(&g_tts);
2389 EXPECT_EQ(ret, TTS_ERROR_NONE);
2393 * @testcase utc_tts_set_utterance_started_cb_n3
2395 * @description test whether function returns error when tts is not in create state.
2397 TEST_F(TTSPreparedTest, utc_tts_set_utterance_started_cb_n3)
2399 int ret = TTS_ERROR_NONE;
2400 if (g_supported == false) {
2401 ret = tts_set_utterance_started_cb(NULL, __tts_utterance_started_cb, NULL);
2402 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2405 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2407 ret = tts_set_utterance_started_cb(g_tts, __tts_utterance_started_cb, NULL);
2408 ASSERT_NE(ret, TTS_ERROR_NONE);
2412 * @testcase utc_tts_unset_utterance_started_cb_p
2414 * @description test whether utterance_started callback function is unset properly.
2416 TEST_F(TTSTest, utc_tts_unset_utterance_started_cb_p)
2418 int ret = TTS_ERROR_NONE;
2419 if (g_supported == false) {
2420 ret = tts_unset_utterance_started_cb(g_tts);
2421 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2425 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2427 ret = tts_unset_utterance_started_cb(g_tts);
2428 EXPECT_EQ(ret, TTS_ERROR_NONE);
2432 * @testcase utc_tts_unset_utterance_started_cb_n
2434 * @description test whether function returns error with NULL parameter.
2436 TEST_F(TTSTest, utc_tts_unset_utterance_started_cb_n)
2438 int ret = TTS_ERROR_NONE;
2439 if (g_supported == false) {
2440 ret = tts_unset_utterance_started_cb(NULL);
2441 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2445 ret = tts_unset_utterance_started_cb(NULL);
2446 ASSERT_NE(ret, TTS_ERROR_NONE);
2450 * @testcase utc_tts_unset_utterance_started_cb_n2
2452 * @description test whether function returns error when tts handle is already destroyed.
2454 TEST_F(TTSTest, utc_tts_unset_utterance_started_cb_n2)
2456 int ret = TTS_ERROR_NONE;
2457 if (g_supported == false) {
2458 ret = tts_unset_utterance_started_cb(NULL);
2459 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2462 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2464 ret = tts_destroy(g_tts);
2465 EXPECT_EQ(ret, TTS_ERROR_NONE);
2467 ret = tts_unset_utterance_started_cb(g_tts);
2468 ASSERT_NE(ret, TTS_ERROR_NONE);
2470 ret = tts_create(&g_tts);
2471 EXPECT_EQ(ret, TTS_ERROR_NONE);
2475 * @testcase utc_tts_unset_utterance_started_cb_n3
2477 * @description test whether function returns error when tts is not in create state.
2479 TEST_F(TTSPreparedTest, utc_tts_unset_utterance_started_cb_n3)
2481 int ret = TTS_ERROR_NONE;
2482 if (g_supported == false) {
2483 ret = tts_unset_utterance_started_cb(NULL);
2484 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2487 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2489 ret = tts_unset_utterance_started_cb(g_tts);
2490 ASSERT_NE(ret, TTS_ERROR_NONE);
2494 * @testcase utc_tts_set_utterance_completed_cb_p
2496 * @description test whether utterance_completed callback function is set properly.
2498 TEST_F(TTSTest, utc_tts_set_utterance_completed_cb_p)
2500 int ret = TTS_ERROR_NONE;
2501 if (g_supported == false) {
2502 ret = tts_set_utterance_completed_cb(g_tts, __tts_utterance_completed_cb, NULL);
2503 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2507 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2509 ret = tts_set_utterance_completed_cb(g_tts, __tts_utterance_completed_cb, NULL);
2510 EXPECT_EQ(ret, TTS_ERROR_NONE);
2514 * @testcase utc_tts_set_utterance_completed_cb_n
2516 * @description test whether function returns error with NULL parameter.
2518 TEST_F(TTSTest, utc_tts_set_utterance_completed_cb_n)
2520 int ret = TTS_ERROR_NONE;
2521 if (g_supported == false) {
2522 ret = tts_set_utterance_completed_cb(NULL, __tts_utterance_completed_cb, NULL);
2523 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2527 ret = tts_set_utterance_completed_cb(NULL, __tts_utterance_completed_cb, NULL);
2528 ASSERT_NE(ret, TTS_ERROR_NONE);
2532 * @testcase utc_tts_set_utterance_completed_cb_n2
2534 * @description test whether function returns error when tts handle is already destroyed.
2536 TEST_F(TTSTest, utc_tts_set_utterance_completed_cb_n2)
2538 int ret = TTS_ERROR_NONE;
2539 if (g_supported == false) {
2540 ret = tts_set_utterance_completed_cb(NULL, __tts_utterance_completed_cb, NULL);
2541 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2544 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2546 ret = tts_destroy(g_tts);
2547 EXPECT_EQ(ret, TTS_ERROR_NONE);
2549 ret = tts_set_utterance_completed_cb(g_tts, __tts_utterance_completed_cb, NULL);
2550 ASSERT_NE(ret, TTS_ERROR_NONE);
2552 ret = tts_create(&g_tts);
2553 EXPECT_EQ(ret, TTS_ERROR_NONE);
2557 * @testcase utc_tts_set_utterance_completed_cb_n3
2559 * @description test whether function returns error when tts is not in create state.
2561 TEST_F(TTSPreparedTest, utc_tts_set_utterance_completed_cb_n3)
2563 int ret = TTS_ERROR_NONE;
2564 if (g_supported == false) {
2565 ret = tts_set_utterance_completed_cb(NULL, __tts_utterance_completed_cb, NULL);
2566 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2569 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2571 ret = tts_set_utterance_completed_cb(g_tts, __tts_utterance_completed_cb, NULL);
2572 ASSERT_NE(ret, TTS_ERROR_NONE);
2576 * @testcase utc_tts_unset_utterance_completed_cb_p
2578 * @description test whether utterance_completed callback function is unset properly.
2580 TEST_F(TTSTest, utc_tts_unset_utterance_completed_cb_p)
2582 int ret = TTS_ERROR_NONE;
2583 if (g_supported == false) {
2584 ret = tts_unset_utterance_completed_cb(g_tts);
2585 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2589 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2591 ret = tts_unset_utterance_completed_cb(g_tts);
2592 EXPECT_EQ(ret, TTS_ERROR_NONE);
2596 * @testcase utc_tts_unset_utterance_completed_cb_n
2598 * @description test whether function returns error with NULL parameter.
2600 TEST_F(TTSTest, utc_tts_unset_utterance_completed_cb_n)
2602 int ret = TTS_ERROR_NONE;
2603 if (g_supported == false) {
2604 ret = tts_unset_utterance_completed_cb(NULL);
2605 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2609 ret = tts_unset_utterance_completed_cb(NULL);
2610 ASSERT_NE(ret, TTS_ERROR_NONE);
2614 * @testcase utc_tts_unset_utterance_completed_cb_n2
2616 * @description test whether function returns error when tts handle is already destroyed.
2618 TEST_F(TTSTest, utc_tts_unset_utterance_completed_cb_n2)
2620 int ret = TTS_ERROR_NONE;
2621 if (g_supported == false) {
2622 ret = tts_unset_utterance_completed_cb(NULL);
2623 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2626 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2628 ret = tts_destroy(g_tts);
2629 EXPECT_EQ(ret, TTS_ERROR_NONE);
2631 ret = tts_unset_utterance_completed_cb(g_tts);
2632 ASSERT_NE(ret, TTS_ERROR_NONE);
2634 ret = tts_create(&g_tts);
2635 EXPECT_EQ(ret, TTS_ERROR_NONE);
2639 * @testcase utc_tts_unset_utterance_completed_cb_n3
2641 * @description test whether function returns error when tts is in create state.
2643 TEST_F(TTSPreparedTest, utc_tts_unset_utterance_completed_cb_n3)
2645 int ret = TTS_ERROR_NONE;
2646 if (g_supported == false) {
2647 ret = tts_unset_utterance_completed_cb(NULL);
2648 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2651 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2653 ret = tts_unset_utterance_completed_cb(g_tts);
2654 ASSERT_NE(ret, TTS_ERROR_NONE);
2658 * @testcase utc_tts_set_error_cb_p
2660 * @description test whether error callback function is set properly.
2662 TEST_F(TTSTest, utc_tts_set_error_cb_p)
2664 int ret = TTS_ERROR_NONE;
2665 if (g_supported == false) {
2666 ret = tts_set_error_cb(g_tts, __tts_error_cb, NULL);
2667 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2671 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2672 ret = tts_set_error_cb(g_tts, __tts_error_cb, NULL);
2673 EXPECT_EQ(ret, TTS_ERROR_NONE);
2677 * @testcase utc_tts_set_error_cb_p2
2679 * @description test whether error callback function is invoked when error occurs.
2681 TEST_F(TTSTest, utc_tts_set_error_cb_p2)
2683 if (g_supported == false) {
2684 EXPECT_EQ(tts_set_error_cb(g_tts, __tts_error_cb, NULL), TTS_ERROR_NOT_SUPPORTED);
2688 char* engine_id = vconf_get_str(ENGINE_VCONF_KEY);
2691 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2692 EXPECT_EQ(tts_set_error_cb(g_tts, __tts_error_cb, NULL), TTS_ERROR_NONE);
2693 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
2694 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2696 EXPECT_EQ(vconf_set_str(ENGINE_VCONF_KEY, g_test_engine), 0);
2698 EXPECT_EQ(__is_error_occur(5), true);
2701 EXPECT_EQ(vconf_set_str(ENGINE_VCONF_KEY, engine_id), 0);
2702 g_current_state = TTS_STATE_CREATED;
2703 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
2704 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
2708 * @testcase utc_tts_set_error_cb_n
2710 * @description test whether function returns error with NULL parameter.
2712 TEST_F(TTSTest, utc_tts_set_error_cb_n)
2714 int ret = TTS_ERROR_NONE;
2715 if (g_supported == false) {
2716 ret = tts_set_error_cb(NULL, __tts_error_cb, NULL);
2717 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2721 ret = tts_set_error_cb(NULL, __tts_error_cb, NULL);
2722 ASSERT_NE(ret, TTS_ERROR_NONE);
2726 * @testcase utc_tts_set_error_cb_n2
2728 * @description test whether function returns error when tts handle is already destroyed.
2730 TEST_F(TTSTest, utc_tts_set_error_cb_n2)
2732 int ret = TTS_ERROR_NONE;
2733 if (g_supported == false) {
2734 ret = tts_set_error_cb(NULL, __tts_error_cb, NULL);
2735 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2738 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2740 ret = tts_destroy(g_tts);
2741 EXPECT_EQ(ret, TTS_ERROR_NONE);
2743 ret = tts_set_error_cb(g_tts, __tts_error_cb, NULL);
2744 ASSERT_NE(ret, TTS_ERROR_NONE);
2746 ret = tts_create(&g_tts);
2747 EXPECT_EQ(ret, TTS_ERROR_NONE);
2751 * @testcase utc_tts_set_error_cb_n3
2753 * @description test whether function returns error when tts is not in create state.
2755 TEST_F(TTSPreparedTest, utc_tts_set_error_cb_n3)
2757 int ret = TTS_ERROR_NONE;
2758 if (g_supported == false) {
2759 ret = tts_set_error_cb(NULL, __tts_error_cb, NULL);
2760 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2763 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2765 ret = tts_set_error_cb(g_tts, __tts_error_cb, NULL);
2766 ASSERT_NE(ret, TTS_ERROR_NONE);
2770 * @testcase utc_tts_unset_error_cb_p
2772 * @description test whether error callback function is unset properly.
2774 TEST_F(TTSTest, utc_tts_unset_error_cb_p)
2776 int ret = TTS_ERROR_NONE;
2777 if (g_supported == false) {
2778 ret = tts_unset_error_cb(g_tts);
2779 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2783 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2785 ret = tts_unset_error_cb(g_tts);
2786 EXPECT_EQ(ret, TTS_ERROR_NONE);
2790 * @testcase utc_tts_unset_error_cb_n
2792 * @description test whether function returns error with NULL parameter.
2794 TEST_F(TTSTest, utc_tts_unset_error_cb_n)
2796 int ret = TTS_ERROR_NONE;
2797 if (g_supported == false) {
2798 ret = tts_unset_error_cb(NULL);
2799 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2803 ret = tts_unset_error_cb(NULL);
2804 ASSERT_NE(ret, TTS_ERROR_NONE);
2808 * @testcase utc_tts_unset_error_cb_n2
2810 * @description test whether function returns error when tts handle is already destroyed.
2812 TEST_F(TTSTest, utc_tts_unset_error_cb_n2)
2814 int ret = TTS_ERROR_NONE;
2815 if (g_supported == false) {
2816 ret = tts_unset_error_cb(NULL);
2817 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2821 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2823 ret = tts_destroy(g_tts);
2824 EXPECT_EQ(ret, TTS_ERROR_NONE);
2826 ret = tts_unset_error_cb(g_tts);
2827 ASSERT_NE(ret, TTS_ERROR_NONE);
2829 ret = tts_create(&g_tts);
2830 EXPECT_EQ(ret, TTS_ERROR_NONE);
2834 * @testcase utc_tts_unset_error_cb_n3
2836 * @description test whether function returns error when tts is not in create state.
2838 TEST_F(TTSPreparedTest, utc_tts_unset_error_cb_n3)
2840 int ret = TTS_ERROR_NONE;
2841 if (g_supported == false) {
2842 ret = tts_unset_error_cb(NULL);
2843 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2846 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2848 ret = tts_unset_error_cb(g_tts);
2849 ASSERT_NE(ret, TTS_ERROR_NONE);
2853 * @testcase utc_tts_set_default_voice_changed_cb_p
2855 * @description test whether default_voice_changed callback function is set properly.
2857 TEST_F(TTSTest, utc_tts_set_default_voice_changed_cb_p)
2859 int ret = TTS_ERROR_NONE;
2860 if (g_supported == false) {
2861 ret = tts_set_default_voice_changed_cb(g_tts, __tts_default_voice_changed_cb, NULL);
2862 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2866 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2868 ret = tts_set_default_voice_changed_cb(g_tts, __tts_default_voice_changed_cb, NULL);
2869 EXPECT_EQ(ret, TTS_ERROR_NONE);
2873 * @testcase utc_tts_set_default_voice_changed_cb_n
2875 * @description test whether function returns error with NULL parameter.
2877 TEST_F(TTSTest, utc_tts_set_default_voice_changed_cb_n)
2879 int ret = TTS_ERROR_NONE;
2880 if (g_supported == false) {
2881 ret = tts_set_default_voice_changed_cb(NULL, __tts_default_voice_changed_cb, NULL);
2882 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2886 ret = tts_set_default_voice_changed_cb(NULL, __tts_default_voice_changed_cb, NULL);
2887 ASSERT_NE(ret, TTS_ERROR_NONE);
2891 * @testcase utc_tts_set_default_voice_changed_cb_n2
2893 * @description test whether function returns error when tts handle is already destroyed.
2895 TEST_F(TTSTest, utc_tts_set_default_voice_changed_cb_n2)
2897 int ret = TTS_ERROR_NONE;
2898 if (g_supported == false) {
2899 ret = tts_set_default_voice_changed_cb(NULL, __tts_default_voice_changed_cb, NULL);
2900 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2903 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2905 ret = tts_destroy(g_tts);
2906 EXPECT_EQ(ret, TTS_ERROR_NONE);
2908 ret = tts_set_default_voice_changed_cb(g_tts, __tts_default_voice_changed_cb, NULL);
2909 ASSERT_NE(ret, TTS_ERROR_NONE);
2911 ret = tts_create(&g_tts);
2912 EXPECT_EQ(ret, TTS_ERROR_NONE);
2916 * @testcase utc_tts_set_default_voice_changed_cb_n3
2918 * @description test whether function returns error when tts is not in create state.
2920 TEST_F(TTSPreparedTest, utc_tts_set_default_voice_changed_cb_n3)
2922 int ret = TTS_ERROR_NONE;
2923 if (g_supported == false) {
2924 ret = tts_set_default_voice_changed_cb(NULL, __tts_default_voice_changed_cb, NULL);
2925 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2928 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2930 ret = tts_set_default_voice_changed_cb(g_tts, __tts_default_voice_changed_cb, NULL);
2931 ASSERT_NE(ret, TTS_ERROR_NONE);
2935 * @testcase utc_tts_unset_default_voice_changed_cb_p
2937 * @description test whether default_voice_changed callback function is unset properly.
2939 TEST_F(TTSTest, utc_tts_unset_default_voice_changed_cb_p)
2941 int ret = TTS_ERROR_NONE;
2942 if (g_supported == false) {
2943 ret = tts_unset_default_voice_changed_cb(g_tts);
2944 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2948 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2950 ret = tts_unset_default_voice_changed_cb(g_tts);
2951 EXPECT_EQ(ret, TTS_ERROR_NONE);
2955 * @testcase utc_tts_unset_default_voice_changed_cb_n
2957 * @description test whether function returns error with NULL parameter.
2959 TEST_F(TTSTest, utc_tts_unset_default_voice_changed_cb_n)
2961 int ret = TTS_ERROR_NONE;
2962 if (g_supported == false) {
2963 ret = tts_unset_default_voice_changed_cb(NULL);
2964 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2968 ret = tts_unset_default_voice_changed_cb(NULL);
2969 ASSERT_NE(ret, TTS_ERROR_NONE);
2973 * @testcase utc_tts_unset_default_voice_changed_cb_n2
2975 * @description test whether function returns error when tts handle is already destroyed.
2977 TEST_F(TTSTest, utc_tts_unset_default_voice_changed_cb_n2)
2979 int ret = TTS_ERROR_NONE;
2980 if (g_supported == false) {
2981 ret = tts_unset_default_voice_changed_cb(NULL);
2982 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
2985 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
2987 ret = tts_destroy(g_tts);
2988 EXPECT_EQ(ret, TTS_ERROR_NONE);
2990 ret = tts_unset_default_voice_changed_cb(g_tts);
2991 ASSERT_NE(ret, TTS_ERROR_NONE);
2993 ret = tts_create(&g_tts);
2994 EXPECT_EQ(ret, TTS_ERROR_NONE);
2998 * @testcase utc_tts_unset_default_voice_changed_cb_n3
3000 * @description test whether function returns error when tts is not in create state.
3002 TEST_F(TTSPreparedTest, utc_tts_unset_default_voice_changed_cb_n3)
3004 int ret = TTS_ERROR_NONE;
3005 if (g_supported == false) {
3006 ret = tts_unset_default_voice_changed_cb(NULL);
3007 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3010 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3012 ret = tts_unset_default_voice_changed_cb(g_tts);
3013 ASSERT_NE(ret, TTS_ERROR_NONE);
3017 * @testcase utc_tts_set_service_state_changed_cb_p
3019 * @description test whether service_state_changed callback function is set properly.
3021 TEST_F(TTSTest, utc_tts_set_service_state_changed_cb_p)
3023 if (g_supported == false) {
3024 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3028 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3030 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NONE);
3034 * @testcase utc_tts_set_service_state_changed_cb_p2
3036 * @description test whether service_state_changed callback function is invoked when server state is changed.
3038 TEST_F(TTSTest, utc_tts_set_service_state_changed_cb_p2)
3040 if (g_supported == false) {
3041 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3045 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3047 g_current_service_state = TTS_SERVICE_STATE_READY;
3048 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NONE);
3049 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
3050 EXPECT_EQ(__is_state_changed(TTS_STATE_READY, STATE_CHECK_WAITING_TIME), true);
3053 EXPECT_EQ(tts_add_text(g_tts, "1 2 3 4 5", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id), TTS_ERROR_NONE);
3054 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NONE);
3056 EXPECT_EQ(__is_service_state_changed(TTS_SERVICE_STATE_SYNTHESIZING, STATE_CHECK_WAITING_TIME), true);
3057 EXPECT_EQ(tts_stop(g_tts), TTS_ERROR_NONE);
3059 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
3063 * @testcase utc_tts_set_service_state_changed_cb_n
3065 * @description test whether function returns error with NULL parameter.
3067 TEST_F(TTSTest, utc_tts_set_service_state_changed_cb_n)
3069 if (g_supported == false) {
3070 EXPECT_EQ(tts_set_service_state_changed_cb(nullptr, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3073 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3075 EXPECT_EQ(tts_set_service_state_changed_cb(nullptr, __tts_service_state_changed_cb, nullptr), TTS_ERROR_INVALID_PARAMETER);
3079 * @testcase utc_tts_set_service_state_changed_cb_n2
3081 * @description test whether function returns error when tts handle is already destroyed.
3083 TEST_F(TTSTest, utc_tts_set_service_state_changed_cb_n2)
3085 if (g_supported == false) {
3086 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3089 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3091 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NONE);
3092 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_INVALID_PARAMETER);
3093 EXPECT_EQ(tts_create(&g_tts), TTS_ERROR_NONE);
3097 * @testcase utc_tts_set_service_state_changed_cb_n3
3099 * @description test whether function returns error when tts is not in ready state.
3101 TEST_F(TTSPreparedTest, utc_tts_set_service_state_changed_cb_n3)
3103 if (g_supported == false) {
3104 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3107 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3109 EXPECT_EQ(tts_set_service_state_changed_cb(g_tts, __tts_service_state_changed_cb, nullptr), TTS_ERROR_INVALID_STATE);
3113 * @testcase utc_tts_unset_service_state_changed_cb_p
3115 * @description test whether service_state_changed callback function is unset properly.
3117 TEST_F(TTSTest, utc_tts_unset_service_state_changed_cb_p)
3119 if (g_supported == false) {
3120 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3124 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3126 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_NONE);
3130 * @testcase utc_tts_unset_service_state_changed_cb_n
3132 * @description test whether function returns error with NULL parameter.
3134 TEST_F(TTSTest, utc_tts_unset_service_state_changed_cb_n)
3136 if (g_supported == false) {
3137 EXPECT_EQ(tts_unset_service_state_changed_cb(NULL), TTS_ERROR_NOT_SUPPORTED);
3141 EXPECT_EQ(tts_unset_service_state_changed_cb(nullptr), TTS_ERROR_INVALID_PARAMETER);
3145 * @testcase utc_tts_unset_service_state_changed_cb_n2
3147 * @description test whether function returns error when tts handle is already destroyed.
3149 TEST_F(TTSTest, utc_tts_unset_service_state_changed_cb_n2)
3151 if (g_supported == false) {
3152 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3155 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3157 EXPECT_EQ(tts_destroy(g_tts), TTS_ERROR_NONE);
3158 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_INVALID_PARAMETER);
3159 EXPECT_EQ(tts_create(&g_tts), TTS_ERROR_NONE);
3163 * @testcase utc_tts_unset_service_state_changed_cb_n3
3165 * @description test whether function returns error when tts is not in ready state.
3167 TEST_F(TTSPreparedTest, utc_tts_unset_service_state_changed_cb_n3)
3169 if (g_supported == false) {
3170 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3173 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3175 EXPECT_EQ(tts_unset_service_state_changed_cb(g_tts), TTS_ERROR_INVALID_STATE);
3180 * @testcase utc_tts_get_error_message_p
3182 * @description Positive UTC for get error message
3184 TEST_F(TTSTest, utc_tts_get_error_message_p)
3186 char* error_message = nullptr;
3187 if (g_supported == false) {
3188 EXPECT_EQ(tts_get_error_message(g_tts, &error_message), TTS_ERROR_NOT_SUPPORTED);
3189 free(error_message);
3193 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3195 EXPECT_EQ(tts_get_error_message(g_tts, &error_message), TTS_ERROR_NONE);
3196 free(error_message);
3200 * @testcase utc_tts_get_error_message_p2
3202 * @description Positive UTC for get error message
3204 TEST_F(TTSTest, utc_tts_get_error_message_p2)
3206 char* error_message = nullptr;
3207 if (g_supported == false) {
3208 EXPECT_EQ(tts_get_error_message(g_tts, &error_message), TTS_ERROR_NOT_SUPPORTED);
3209 free(error_message);
3213 char* engine_id = vconf_get_str(ENGINE_VCONF_KEY);
3216 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3217 EXPECT_EQ(tts_set_error_cb(g_tts, __tts_error_cb, NULL), TTS_ERROR_NONE);
3218 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
3219 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3221 EXPECT_EQ(vconf_set_str(ENGINE_VCONF_KEY, g_test_engine), 0);
3223 EXPECT_EQ(__is_error_occur(5), true);
3225 EXPECT_EQ(tts_get_error_message(g_tts, &error_message), TTS_ERROR_NONE);
3226 EXPECT_NE(error_message, nullptr);
3227 free(error_message);
3231 EXPECT_EQ(vconf_set_str(ENGINE_VCONF_KEY, engine_id), 0);
3232 g_current_state = TTS_STATE_CREATED;
3233 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3234 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
3238 * @testcase utc_tts_get_error_message_n
3240 * @description Negative UTC for get error message (invalid parameter)
3242 TEST_F(TTSTest, utc_tts_get_error_message_n)
3244 int ret = TTS_ERROR_NONE;
3245 if (g_supported == false) {
3246 ret = tts_get_error_message(g_tts, NULL);
3247 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3251 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3253 ret = tts_get_error_message(g_tts, NULL);
3254 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3258 * @testcase utc_tts_get_private_data_p
3260 * @description Positive UTC for get private data
3262 TEST_F(TTSPreparedTest, utc_tts_get_private_data_p)
3264 int ret = TTS_ERROR_NONE;
3265 if (g_supported == false) {
3266 ret = tts_get_private_data(g_tts, NULL, NULL);
3267 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3271 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3274 ret = tts_get_private_data(g_tts, "version", &data);
3275 EXPECT_EQ(ret, TTS_ERROR_NONE);
3280 * @testcase utc_tts_get_private_data_n
3282 * @description Negative UTC for get private data (invalid parameter)
3284 TEST_F(TTSTest, utc_tts_get_private_data_n)
3286 int ret = TTS_ERROR_NONE;
3287 if (g_supported == false) {
3288 ret = tts_get_private_data(g_tts, NULL, NULL);
3289 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3293 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3295 ret = tts_get_private_data(NULL, NULL, NULL);
3296 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3300 * @testcase utc_tts_get_private_data_n2
3302 * @description Negative UTC for get private data (invalid state)
3304 TEST_F(TTSTest, utc_tts_get_private_data_n2)
3306 int ret = TTS_ERROR_NONE;
3307 if (g_supported == false) {
3308 ret = tts_get_private_data(g_tts, NULL, NULL);
3309 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3313 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3316 ret = tts_get_private_data(g_tts, "version", &data);
3317 EXPECT_EQ(ret, TTS_ERROR_INVALID_STATE);
3321 * @testcase utc_tts_get_private_data_n3
3323 * @description Negative UTC for get private data (invalid parameter)
3325 TEST_F(TTSTest, utc_tts_get_private_data_n3)
3327 int ret = TTS_ERROR_NONE;
3328 if (g_supported == false) {
3329 ret = tts_get_private_data(g_tts, NULL, NULL);
3330 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3334 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3337 ret = tts_get_private_data(g_tts, NULL, &data);
3338 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3342 * @testcase utc_tts_set_private_data_p
3344 * @description Positive UTC for set private data
3346 TEST_F(TTSPreparedTest, utc_tts_set_private_data_p)
3348 int ret = TTS_ERROR_NONE;
3349 if (g_supported == false) {
3350 ret = tts_set_private_data(g_tts, NULL, NULL);
3351 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3355 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3357 ret = tts_set_private_data(g_tts, "version", "2.0");
3358 EXPECT_EQ(ret, TTS_ERROR_NONE);
3362 * @testcase utc_tts_set_private_data_n
3364 * @description Negative UTC for set private data (invalid parameter)
3366 TEST_F(TTSTest, utc_tts_set_private_data_n)
3368 int ret = TTS_ERROR_NONE;
3369 if (g_supported == false) {
3370 ret = tts_set_private_data(g_tts, NULL, NULL);
3371 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3375 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3377 ret = tts_set_private_data(NULL, NULL, NULL);
3378 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3382 * @testcase utc_tts_set_private_data_n2
3384 * @description Negative UTC for set private data (invalid state)
3386 TEST_F(TTSTest, utc_tts_set_private_data_n2)
3388 int ret = TTS_ERROR_NONE;
3389 if (g_supported == false) {
3390 ret = tts_set_private_data(g_tts, NULL, NULL);
3391 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3395 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3397 ret = tts_set_private_data(g_tts, "version", "2.0");
3398 EXPECT_EQ(ret, TTS_ERROR_INVALID_STATE);
3402 * @testcase utc_tts_set_private_data_n3
3404 * @description Negative UTC for set private data (invalid parameter)
3406 TEST_F(TTSTest, utc_tts_set_private_data_n3)
3408 int ret = TTS_ERROR_NONE;
3409 if (g_supported == false) {
3410 ret = tts_set_private_data(g_tts, NULL, NULL);
3411 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3415 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3417 ret = tts_set_private_data(g_tts, NULL, "2.0");
3418 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3422 * @testcase utc_tts_set_credential_p
3424 * @description Positive UTC for set credential
3426 TEST_F(TTSTest, utc_tts_set_credential_p)
3428 int ret = TTS_ERROR_NONE;
3429 if (g_supported == false) {
3430 ret = tts_set_credential(g_tts, NULL);
3431 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3435 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3437 ret = tts_set_credential(g_tts, "test");
3438 EXPECT_EQ(ret, TTS_ERROR_NONE);
3441 TEST_F(TTSTest, utc_tts_set_credential_n)
3443 int ret = tts_set_credential(NULL, "credential");
3444 EXPECT_EQ(ret, TTS_ERROR_INVALID_PARAMETER);
3448 * @testcase utc_tts_set_credential_n2
3450 * @description Negative UTC for set credential (invalid state)
3452 TEST_F(TTSPreparedTest, utc_tts_set_credential_n2)
3455 int ret = TTS_ERROR_NONE;
3456 if (g_supported == false) {
3457 ret = tts_set_credential(g_tts, NULL);
3458 EXPECT_EQ(ret, TTS_ERROR_NOT_SUPPORTED);
3462 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3464 ret = tts_add_text(g_tts, "1 2 3", g_language, g_voice_type, TTS_SPEED_AUTO, &utt_id);
3465 EXPECT_EQ(ret, TTS_ERROR_NONE);
3467 ret = tts_play(g_tts);
3468 EXPECT_EQ(ret, TTS_ERROR_NONE);
3470 while (TTS_STATE_PLAYING != g_current_state) {
3471 ecore_main_loop_iterate();
3474 ret = tts_set_credential(g_tts, "test");
3475 EXPECT_EQ(ret, TTS_ERROR_INVALID_STATE);
3477 ret = tts_stop(g_tts);
3478 EXPECT_EQ(ret, TTS_ERROR_NONE);
3480 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3485 * @testcase utc_tts_set_server_tts_p
3487 * @description Positive UTC for set server TTS as enabled
3489 TEST_F(TTSPreparedTest, utc_tts_set_server_tts_p)
3491 if (g_supported == false) {
3492 EXPECT_EQ(tts_set_server_tts(g_tts, "test"), TTS_ERROR_NOT_SUPPORTED);
3496 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3498 EXPECT_EQ(tts_set_server_tts(g_tts, "test"), TTS_ERROR_NONE);
3502 * @testcase utc_tts_set_server_tts_p2
3504 * @description Positive UTC for set server TTS as disabled
3506 TEST_F(TTSPreparedTest, utc_tts_set_server_tts_p2)
3508 if (g_supported == false) {
3509 EXPECT_EQ(tts_set_server_tts(g_tts, nullptr), TTS_ERROR_NOT_SUPPORTED);
3513 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3515 EXPECT_EQ(tts_set_server_tts(g_tts, nullptr), TTS_ERROR_NONE);
3519 * @testcase utc_tts_set_server_tts_n
3521 * @description Negative UTC for set server TTS (Invalid parameter)
3523 TEST_F(TTSTest, utc_tts_set_server_tts_n)
3525 if (g_supported == false) {
3526 EXPECT_EQ(tts_set_server_tts(nullptr, "test"), TTS_ERROR_NOT_SUPPORTED);
3530 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3532 EXPECT_EQ(tts_set_server_tts(nullptr, "test"), TTS_ERROR_INVALID_PARAMETER);
3536 * @testcase utc_tts_set_server_tts_n2
3538 * @description Negative UTC for set server TTS (Invalid state)
3540 TEST_F(TTSPreparedTest, utc_tts_set_server_tts_n2)
3542 if (g_supported == false) {
3543 EXPECT_EQ(tts_set_server_tts(g_tts, "test"), TTS_ERROR_NOT_SUPPORTED);
3547 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3549 EXPECT_EQ(tts_play(g_tts), TTS_ERROR_NONE);
3550 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
3552 EXPECT_EQ(tts_set_server_tts(g_tts, "test"), TTS_ERROR_INVALID_STATE);
3554 EXPECT_EQ(tts_stop(g_tts), TTS_ERROR_NONE);
3555 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3559 * @testcase utc_tts_check_screen_reader_on_p
3561 * @description Positive UTC for checking screen reader on
3563 TEST_F(TTSTest, utc_tts_check_screen_reader_on_p)
3566 if (g_supported == false) {
3567 EXPECT_EQ(tts_check_screen_reader_on(g_tts, &is_on), TTS_ERROR_NOT_SUPPORTED);
3571 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3573 EXPECT_EQ(tts_check_screen_reader_on(g_tts, &is_on), TTS_ERROR_NONE);
3577 * @testcase utc_tts_check_screen_reader_on_p2
3579 * @description Positive UTC for checking screen reader on
3581 TEST_F(TTSTest, utc_tts_check_screen_reader_on_p2)
3584 if (g_supported == false) {
3585 EXPECT_EQ(tts_check_screen_reader_on(g_tts, &is_on), TTS_ERROR_NOT_SUPPORTED);
3589 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3591 EXPECT_EQ(tts_set_mode(g_tts, TTS_MODE_SCREEN_READER), TTS_ERROR_NONE);
3593 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, false), 0);
3594 EXPECT_EQ(tts_check_screen_reader_on(g_tts, &is_on), TTS_ERROR_NONE);
3596 EXPECT_EQ(is_on, false);
3600 * @testcase utc_tts_check_screen_reader_on_n
3602 * @description Negative UTC for checking screen reader on (invalid parameter)
3604 TEST_F(TTSTest, utc_tts_check_screen_reader_on_n)
3607 if (g_supported == false) {
3608 EXPECT_EQ(tts_check_screen_reader_on(g_tts, nullptr), TTS_ERROR_NOT_SUPPORTED);
3612 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3614 EXPECT_EQ(tts_check_screen_reader_on(g_tts, nullptr), TTS_ERROR_INVALID_PARAMETER);
3615 EXPECT_EQ(tts_check_screen_reader_on(nullptr, &is_on), TTS_ERROR_INVALID_PARAMETER);
3619 * @testcase utc_tts_set_screen_reader_changed_cb_p
3621 * @description Positive UTC for set screen reader changed callback
3623 TEST_F(TTSTest, utc_tts_set_screen_reader_changed_cb_p)
3625 if (g_supported == false) {
3626 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3630 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3632 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NONE);
3636 * @testcase utc_tts_set_screen_reader_changed_cb_p2
3638 * @description Positive UTC for invoking screen reader changed callback
3640 TEST_F(TTSTest, utc_tts_set_screen_reader_changed_cb_p2)
3642 if (g_supported == false) {
3643 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3647 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3649 g_screen_reader_changed_cb = false;
3650 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, true), 0);
3651 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NONE);
3653 EXPECT_EQ(vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, false), 0);
3654 EXPECT_EQ(__is_screen_reader_changed(5), true);
3658 * @testcase utc_tts_set_screen_reader_changed_cb_n
3660 * @description Negative UTC for set screen reader changed callback (Invalid handle)
3662 TEST_F(TTSTest, utc_tts_set_screen_reader_changed_cb_n)
3664 if (g_supported == false) {
3665 EXPECT_EQ(tts_set_screen_reader_changed_cb(nullptr, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3669 EXPECT_EQ(tts_set_screen_reader_changed_cb(nullptr, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_INVALID_PARAMETER);
3673 * @testcase utc_tts_set_screen_reader_changed_cb_n2
3675 * @description Negative UTC for set screen reader changed callback (Invalid parameter)
3677 TEST_F(TTSTest, utc_tts_set_screen_reader_changed_cb_n2)
3679 if (g_supported == false) {
3680 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, nullptr, nullptr), TTS_ERROR_NOT_SUPPORTED);
3684 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, nullptr, nullptr), TTS_ERROR_INVALID_PARAMETER);
3688 * @testcase utc_tts_set_screen_reader_changed_cb_n2
3690 * @description Negative UTC for set screen reader changed callback (Invalid state)
3692 TEST_F(TTSPreparedTest, utc_tts_set_screen_reader_changed_cb_n2)
3694 if (g_supported == false) {
3695 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3699 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3701 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_INVALID_STATE);
3705 * @testcase utc_tts_unset_screen_reader_changed_cb_p
3707 * @description Positive UTC for unset screen reader changed callback
3709 TEST_F(TTSTest, utc_tts_unset_screen_reader_changed_cb_p)
3711 if (g_supported == false) {
3712 EXPECT_EQ(tts_unset_screen_reader_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3716 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3718 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NONE);
3719 EXPECT_EQ(tts_unset_screen_reader_changed_cb(g_tts), TTS_ERROR_NONE);
3723 * @testcase utc_tts_unset_screen_reader_changed_cb_n
3725 * @description Negative UTC for unset screen reader changed callback (Invalid handle)
3727 TEST_F(TTSTest, utc_tts_unset_screen_reader_changed_cb_n)
3729 if (g_supported == false) {
3730 EXPECT_EQ(tts_unset_screen_reader_changed_cb(nullptr), TTS_ERROR_NOT_SUPPORTED);
3734 EXPECT_EQ(tts_unset_screen_reader_changed_cb(nullptr), TTS_ERROR_INVALID_PARAMETER);
3738 * @testcase utc_tts_unset_screen_reader_changed_cb_n2
3740 * @description Negative UTC for unset screen reader changed callback (Invalid state)
3742 TEST_F(TTSTest, utc_tts_unset_screen_reader_changed_cb_n2)
3744 if (g_supported == false) {
3745 EXPECT_EQ(tts_unset_screen_reader_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3749 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3751 EXPECT_EQ(tts_set_screen_reader_changed_cb(g_tts, __tts_screen_reader_changed_cb, nullptr), TTS_ERROR_NONE);
3753 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
3754 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3756 EXPECT_EQ(tts_unset_screen_reader_changed_cb(g_tts), TTS_ERROR_INVALID_STATE);
3758 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
3762 * @testcase utc_tts_set_engine_changed_cb_p
3764 * @description Positive UTC for set current engine changed callback
3766 TEST_F(TTSTest, utc_tts_set_engine_changed_cb_p)
3768 if (g_supported == false) {
3769 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3773 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3775 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_NONE);
3779 * @testcase utc_tts_set_engine_changed_cb_n
3781 * @description Negative UTC for set current engine changed callback (Invalid handle)
3783 TEST_F(TTSTest, utc_tts_set_engine_changed_cb_n)
3785 if (g_supported == false) {
3786 EXPECT_EQ(tts_set_engine_changed_cb(nullptr, __tts_engine_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3790 EXPECT_EQ(tts_set_engine_changed_cb(nullptr, __tts_engine_changed_cb, nullptr), TTS_ERROR_INVALID_PARAMETER);
3794 * @testcase utc_tts_set_engine_changed_cb_n2
3796 * @description Negative UTC for set current engine changed callback (Invalid state)
3798 TEST_F(TTSPreparedTest, utc_tts_set_engine_changed_cb_n2)
3800 if (g_supported == false) {
3801 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_NOT_SUPPORTED);
3805 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3807 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_INVALID_STATE);
3811 * @testcase utc_tts_unset_engine_changed_cb_p
3813 * @description Positive UTC for unset current engine changed callback
3815 TEST_F(TTSTest, utc_tts_unset_engine_changed_cb_p)
3817 if (g_supported == false) {
3818 EXPECT_EQ(tts_unset_engine_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3822 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3824 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_NONE);
3825 EXPECT_EQ(tts_unset_engine_changed_cb(g_tts), TTS_ERROR_NONE);
3829 * @testcase utc_tts_unset_engine_changed_cb_n
3831 * @description Negative UTC for unset current engine changed callback (Invalid handle)
3833 TEST_F(TTSTest, utc_tts_unset_engine_changed_cb_n)
3835 if (g_supported == false) {
3836 EXPECT_EQ(tts_unset_engine_changed_cb(nullptr), TTS_ERROR_NOT_SUPPORTED);
3840 EXPECT_EQ(tts_unset_engine_changed_cb(nullptr), TTS_ERROR_INVALID_PARAMETER);
3844 * @testcase utc_tts_unset_engine_changed_cb_n2
3846 * @description Negative UTC for unset current engine changed callback (Invalid state)
3848 TEST_F(TTSTest, utc_tts_unset_engine_changed_cb_n2)
3850 if (g_supported == false) {
3851 EXPECT_EQ(tts_unset_engine_changed_cb(g_tts), TTS_ERROR_NOT_SUPPORTED);
3855 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3857 EXPECT_EQ(tts_set_engine_changed_cb(g_tts, __tts_engine_changed_cb, nullptr), TTS_ERROR_NONE);
3859 EXPECT_EQ(tts_prepare(g_tts), TTS_ERROR_NONE);
3860 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3862 EXPECT_EQ(tts_unset_engine_changed_cb(g_tts), TTS_ERROR_INVALID_STATE);
3864 EXPECT_EQ(tts_unprepare(g_tts), TTS_ERROR_NONE);
3868 * @testcase utc_tts_add_pcm_p
3870 * @description test whether pcm data is added properly.
3872 TEST_F(TTSPreparedTest, utc_tts_add_pcm_p)
3874 if (g_supported == false) {
3875 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3879 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3881 char data[10] = {0, };
3882 EXPECT_EQ(tts_add_pcm(g_tts, 1, data, 10, 0, g_sample_rate), TTS_ERROR_NONE);
3883 EXPECT_EQ(tts_add_pcm(g_tts, 2, data, 10, 0, g_sample_rate), TTS_ERROR_NONE);
3887 * @testcase utc_tts_add_pcm_p2
3889 * @description test whether null pcm data is added properly as a final event.
3891 TEST_F(TTSPreparedTest, utc_tts_add_pcm_p2)
3893 if (g_supported == false) {
3894 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3898 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3900 EXPECT_EQ(tts_add_pcm(g_tts, 3, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NONE);
3904 * @testcase utc_tts_add_pcm_n
3906 * @description test whether function returns error with NULL parameter.
3908 TEST_F(TTSPreparedTest, utc_tts_add_pcm_n)
3910 if (g_supported == false) {
3911 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3915 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3917 char data[10] = {0, };
3918 EXPECT_EQ(tts_add_pcm(nullptr, 1, data, 10, 0, g_sample_rate), TTS_ERROR_INVALID_PARAMETER);
3922 * @testcase utc_tts_add_pcm_n2
3924 * @description test whether function returns error when tts is in create state.
3926 TEST_F(TTSTest, utc_tts_add_pcm_n2)
3928 if (g_supported == false) {
3929 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3933 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3935 char data[10] = {0, };
3936 EXPECT_EQ(tts_add_pcm(g_tts, 1, data, 10, 0, g_sample_rate), TTS_ERROR_INVALID_STATE);
3940 * @testcase utc_tts_add_pcm_n3
3942 * @description test whether function returns error with invalid audio type.
3944 TEST_F(TTSPreparedTest, utc_tts_add_pcm_n3)
3946 if (g_supported == false) {
3947 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3951 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3953 char data[10] = {0, };
3954 EXPECT_EQ(tts_add_pcm(g_tts, 1, data, 10, -1, g_sample_rate), TTS_ERROR_INVALID_PARAMETER);
3958 * @testcase utc_tts_add_pcm_n4
3960 * @description test whether function returns error with invalid sampling rate.
3962 TEST_F(TTSPreparedTest, utc_tts_add_pcm_n4)
3964 if (g_supported == false) {
3965 EXPECT_EQ(tts_add_pcm(g_tts, 1, nullptr, 0, 0, g_sample_rate), TTS_ERROR_NOT_SUPPORTED);
3969 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3971 char data[10] = {0, };
3972 EXPECT_EQ(tts_add_pcm(g_tts, 1, data, 10, 0, -1), TTS_ERROR_INVALID_PARAMETER);
3976 * @testcase utc_tts_play_pcm_p
3978 * @description test whether tts is played properly.
3980 TEST_F(TTSPreparedTest, utc_tts_play_pcm_p)
3982 if (g_supported == false) {
3983 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
3987 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
3989 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NONE);
3990 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
3992 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_NONE);
3993 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
3997 * @testcase utc_tts_play_pcm_p2
3999 * @description test whether tts is played all pcm data properly.
4001 TEST_F(TTSPreparedWithUttCbTest, utc_tts_play_pcm_p2)
4003 if (g_supported == false) {
4004 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
4008 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4010 g_utterance_completed_cb = false;
4011 __get_test_PCM_Data();
4012 ASSERT_NE(g_pcm_data, nullptr);
4013 ASSERT_GT(g_pcm_size, 0);
4015 const size_t shift_size = 12000;
4016 int data_num = g_pcm_size / shift_size;
4017 for (int i = 0; i <= data_num; i++ ) {
4019 EXPECT_EQ(tts_add_pcm(g_tts, 1, &g_pcm_data[i*shift_size], shift_size, 0, g_sample_rate), TTS_ERROR_NONE);
4020 } else if (data_num == i) {
4021 EXPECT_EQ(tts_add_pcm(g_tts, 3, &g_pcm_data[i*shift_size], g_pcm_size % shift_size, 0, g_sample_rate), TTS_ERROR_NONE);
4023 EXPECT_EQ(tts_add_pcm(g_tts, 2, &g_pcm_data[i*shift_size], shift_size, 0, g_sample_rate), TTS_ERROR_NONE);
4027 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NONE);
4028 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
4030 while (true != g_utterance_completed_cb) {
4031 ecore_main_loop_iterate();
4034 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_NONE);
4035 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
4039 * @testcase utc_tts_play_pcm_n
4041 * @description test whether function returns error with NULL parameter.
4043 TEST_F(TTSTest, utc_tts_play_pcm_n)
4045 if (g_supported == false) {
4046 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
4049 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4050 EXPECT_EQ(tts_play_pcm(nullptr), TTS_ERROR_INVALID_PARAMETER);
4054 * @testcase utc_tts_play_pcm_n2
4056 * @description test whether function returns error when tts is in create state.
4058 TEST_F(TTSTest, utc_tts_play_pcm_n2)
4060 if (g_supported == false) {
4061 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
4064 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4065 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_INVALID_STATE);
4069 * @testcase utc_tts_stop_pcm_p
4071 * @description test whether tts is stopped properly.
4073 TEST_F(TTSPreparedTest, utc_tts_stop_pcm_p)
4075 if (g_supported == false) {
4076 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
4080 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4082 EXPECT_EQ(tts_play_pcm(g_tts), TTS_ERROR_NONE);
4083 EXPECT_EQ(true, __is_state_changed(TTS_STATE_PLAYING, 5));
4085 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_NONE);
4086 EXPECT_EQ(true, __is_state_changed(TTS_STATE_READY, 5));
4090 * @testcase utc_tts_stop_pcm_n
4092 * @description test whether function returns error with NULL parameter.
4094 TEST_F(TTSTest, utc_tts_stop_pcm_n)
4096 if (g_supported == false) {
4097 EXPECT_EQ(tts_stop_pcm(nullptr), TTS_ERROR_NOT_SUPPORTED);
4100 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4101 EXPECT_EQ(tts_stop_pcm(nullptr), TTS_ERROR_INVALID_PARAMETER);
4105 * @testcase utc_tts_stop_pcm_n2
4107 * @description test whether function returns error when tts is in create state.
4109 TEST_F(TTSTest, utc_tts_stop_pcm_n2)
4111 if (g_supported == false) {
4112 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_NOT_SUPPORTED);
4115 EXPECT_EQ(is_created_hndl, TTS_ERROR_NONE);
4116 EXPECT_EQ(tts_stop_pcm(g_tts), TTS_ERROR_INVALID_STATE);