From 47e3b171a3902f9dd5b81af093989d8e1c425235 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 31 May 2016 17:16:14 +0900 Subject: [PATCH] efl test suite - test args event and args values --- src/Makefile_Ecore.am | 1 + src/tests/ecore/ecore_suite.c | 1 + src/tests/ecore/ecore_suite.h | 1 + src/tests/ecore/ecore_test_args.c | 135 ++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 src/tests/ecore/ecore_test_args.c diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index dd8f67a370..b027694f5c 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -201,6 +201,7 @@ tests/ecore/ecore_test_ecore_input.c \ tests/ecore/ecore_test_ecore_file.c \ tests/ecore/ecore_test_promise.c \ tests/ecore/ecore_test_job.c \ +tests/ecore/ecore_test_args.c \ tests/ecore/ecore_suite.h tests_ecore_ecore_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c index b45ab02d27..0ade3c476f 100644 --- a/src/tests/ecore/ecore_suite.c +++ b/src/tests/ecore/ecore_suite.c @@ -28,6 +28,7 @@ static const Efl_Test_Case etc[] = { { "Ecore_File", ecore_test_ecore_file }, { "Ecore_Promise", ecore_test_ecore_promise }, { "Ecore_Job", ecore_test_ecore_job }, + { "Ecore_Args", ecore_test_ecore_args }, { NULL, NULL } }; diff --git a/src/tests/ecore/ecore_suite.h b/src/tests/ecore/ecore_suite.h index ed7a3aca26..31ca43d421 100644 --- a/src/tests/ecore/ecore_suite.h +++ b/src/tests/ecore/ecore_suite.h @@ -17,5 +17,6 @@ void ecore_test_ecore_input(TCase *tc); void ecore_test_ecore_file(TCase *tc); void ecore_test_ecore_promise(TCase *tc); void ecore_test_ecore_job(TCase *tc); +void ecore_test_ecore_args(TCase *tc); #endif /* _ECORE_SUITE_H */ diff --git a/src/tests/ecore/ecore_test_args.c b/src/tests/ecore/ecore_test_args.c new file mode 100644 index 0000000000..84ff61aeee --- /dev/null +++ b/src/tests/ecore/ecore_test_args.c @@ -0,0 +1,135 @@ +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include "ecore_suite.h" + +static Eina_Bool +_cb_args1(void *data EINA_UNUSED, const Eo_Event *event) +{ + Efl_Loop_Args *args = event->info; + int n; + + n = efl_loop_args_arg_num_get(args); + fail_if(n != 8); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 0), "a")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 1), "b")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 2), "c")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 3), "d")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 4), "e")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 5), "f")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 6), "g")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 7), "h")); + ecore_main_loop_quit(); + return EO_CALLBACK_CONTINUE; +} + +START_TEST(ecore_test_args1) +{ + const char *args[] = + { + "a", "b", "c", "d", "e", "f", "g", "h" + }; + + ecore_init(); + eo_event_callback_add(ecore_main_loop_get(), EFL_LOOP_EVENT_ARGS, + _cb_args1, NULL); + efl_loop_args_add(ecore_main_loop_get(), 8, args); + ecore_main_loop_begin(); + ecore_shutdown(); +} +END_TEST + +static Eina_Bool +_cb_args2(void *data EINA_UNUSED, const Eo_Event *event) +{ + Efl_Loop_Args *args = event->info; + int n; + + n = efl_loop_args_arg_num_get(args); + fail_if(n != 1); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 0), "hello world")); + ecore_main_loop_quit(); + return EO_CALLBACK_CONTINUE; +} + +START_TEST(ecore_test_args2) +{ + const char *args[] = + { + "hello world" + }; + + ecore_init(); + eo_event_callback_add(ecore_main_loop_get(), EFL_LOOP_EVENT_ARGS, + _cb_args2, NULL); + efl_loop_args_add(ecore_main_loop_get(), 1, args); + ecore_main_loop_begin(); + ecore_shutdown(); +} +END_TEST + +static Eina_Bool +_cb_args3(void *data EINA_UNUSED, const Eo_Event *event) +{ + Efl_Loop_Args *args = event->info; + int n; + + n = efl_loop_args_arg_num_get(args); + fail_if(n != 0); + ecore_main_loop_quit(); + return EO_CALLBACK_CONTINUE; +} + +START_TEST(ecore_test_args3) +{ + ecore_init(); + eo_event_callback_add(ecore_main_loop_get(), EFL_LOOP_EVENT_ARGS, + _cb_args3, NULL); + efl_loop_args_add(ecore_main_loop_get(), 0, NULL); + ecore_main_loop_begin(); + ecore_shutdown(); +} +END_TEST + +static Eina_Bool +_cb_args4(void *data EINA_UNUSED, const Eo_Event *event) +{ + Efl_Loop_Args *args = event->info; + int n; + + n = efl_loop_args_arg_num_get(args); + fail_if(n != 3); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 0), "some really long string with lots more to it than is needed for an argument blah")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 1), "xxxxx")); + fail_if(!!strcmp(efl_loop_args_arg_get(args, 2), "y")); + ecore_main_loop_quit(); + return EO_CALLBACK_CONTINUE; +} + +START_TEST(ecore_test_args4) +{ + const char *args[] = + { + "some really long string with lots more to it than is needed for an argument blah", + "xxxxx", + "y" + }; + + ecore_init(); + eo_event_callback_add(ecore_main_loop_get(), EFL_LOOP_EVENT_ARGS, + _cb_args4, NULL); + efl_loop_args_add(ecore_main_loop_get(), 3, args); + ecore_main_loop_begin(); + ecore_shutdown(); +} +END_TEST + +void ecore_test_ecore_args(TCase *tc) +{ + tcase_add_test(tc, ecore_test_args1); + tcase_add_test(tc, ecore_test_args2); + tcase_add_test(tc, ecore_test_args3); + tcase_add_test(tc, ecore_test_args4); +}