diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2018-03-02 19:13:44 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2018-03-03 13:40:33 +0900 |
commit | 4a97c7d387baecff848c18f2c90b52962ec882d9 (patch) | |
tree | baceee265baff52fe2bfcbd0ed57e6ca2523c415 | |
parent | 6f31f36aa81cd15c34b9e55f43231e521acd35e0 (diff) | |
download | efl-4a97c7d387baecff848c18f2c90b52962ec882d9.tar.gz |
tests - eo - found eo_signals test is wrong... amazing it passed before
so it was listening for cb adds and dels... and or del of any cb
except the cb add/del catcher was done.. it would fail...
but ... the test actually added other cbs than this ... like:
efl_event_callback_array_priority_add(obj, _eo_signals_callbacks(),
-100, (void *) 1);
a while array of cb's:
{ EV_A_CHANGED, _eo_signals_a_changed_cb },
{ EV_A_CHANGED, _eo_signals_a_changed_cb2 },
{ EV_A_CHANGED, _eo_signals_a_changed_never },
{ EFL_EVENT_DEL, _eo_signals_efl_del_cb });
none of which were _eo_signals_cb_added_deled. i am amazed it passed
before...
now switch its checks to check for itself and then check for anything
BUT itself...
-rw-r--r-- | src/tests/eo/suite/eo_test_general.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index 18684f1ad2..a1e054c6ab 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c @@ -178,12 +178,17 @@ _eo_signals_efl_del_cb(void *_data EINA_UNUSED, const Efl_Event *event EINA_UNUS _eo_signals_cb_flag |= 0x4; } +static check_is_deled = 0; + void _eo_signals_cb_added_deled(void *data, const Efl_Event *event) { const Efl_Callback_Array_Item_Full *callback_array = event->info; - fail_if(callback_array->func != _eo_signals_cb_added_deled); + if (check_is_deled) + fail_if(callback_array->func == _eo_signals_cb_added_deled); + else + fail_if(callback_array->func != _eo_signals_cb_added_deled); } EFL_CALLBACKS_ARRAY_DEFINE(_eo_signals_callbacks, @@ -202,6 +207,7 @@ START_TEST(eo_signals) efl_event_callback_add(obj, EFL_EVENT_CALLBACK_ADD, _eo_signals_cb_added_deled, &_eo_signals_callbacks); r = efl_event_callback_add(obj, EFL_EVENT_CALLBACK_DEL, _eo_signals_cb_added_deled, &_eo_signals_callbacks); fail_if(!r); + check_is_deled = 1; efl_event_callback_array_priority_add(obj, _eo_signals_callbacks(), -100, (void *) 1); efl_event_callback_array_add(obj, _eo_signals_callbacks(), (void *) 3); r = efl_event_callback_array_priority_add(obj, _eo_signals_callbacks(), -50, (void *) 2); |