diff --git a/legacy/ecore/src/bin/ecore_test.c b/legacy/ecore/src/bin/ecore_test.c index 9ac28590a4..c106f87b01 100644 --- a/legacy/ecore/src/bin/ecore_test.c +++ b/legacy/ecore/src/bin/ecore_test.c @@ -7,18 +7,51 @@ const char *called = NULL; static const char *idler_str = "idler"; static const char *idle_enterer_str = "idler_enterer"; static const char *idle_exiter_str = "idler_exiter"; -static const char *timer_str = "timer"; +static const char *timer1_str = "timer 1"; +static const char *timer2_str = "timer 2"; static const char *pipe_read_str = "pipe read"; int count; +Eina_Bool timer_one(void *data) +{ + fprintf(stderr, "timer 1\n"); + assert(called == pipe_read_str); + called = timer1_str; + + count++; + if (count == 10) + { + ecore_main_loop_quit(); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool timer_two(void *data) +{ + fprintf(stderr, "timer 2\n"); + assert(called == timer1_str); + called = timer2_str; + + return EINA_TRUE; +} + Eina_Bool idle_enterer_one(void *data) { fprintf(stderr, "idle enterer!\n"); - if (count) - assert(called == timer_str); - else + switch (count) + { + default: + assert(called == timer2_str); + break; + case 1: + assert(called == timer1_str); + break; + case 0: assert(called == NULL); + } called = idle_enterer_str; return EINA_TRUE; } @@ -28,6 +61,8 @@ Eina_Bool idler_one(void *data) fprintf(stderr, "idler!\n"); assert(called == idle_enterer_str); called = idler_str; + if (count == 0) + ecore_timer_add(0.0, timer_two, NULL); return EINA_TRUE; } @@ -39,22 +74,6 @@ Eina_Bool idle_exiter_one(void *data) return EINA_TRUE; } -Eina_Bool timer_one(void *data) -{ - fprintf(stderr, "timer\n"); - assert(called == pipe_read_str); - called = timer_str; - - count++; - if (count == 10) - { - ecore_main_loop_quit(); - return EINA_FALSE; - } - - return EINA_TRUE; -} - Eina_Bool pipe_read(void *data, Ecore_Fd_Handler *fd_handler) { fprintf(stderr, "pipe read\n");