From d766a765e31dbd3b7b15a55a88210afed089f8ab Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Mon, 20 Apr 2015 15:15:34 +0900 Subject: [PATCH] Evas tests: Add callback_del order test --- src/tests/evas/evas_test_callbacks.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/tests/evas/evas_test_callbacks.c b/src/tests/evas/evas_test_callbacks.c index 164851e..f424435 100644 --- a/src/tests/evas/evas_test_callbacks.c +++ b/src/tests/evas/evas_test_callbacks.c @@ -70,9 +70,26 @@ START_TEST(evas_object_event_callbacks_priority) _obj_event_cb, (void *) 3); evas_object_move(rect, 3, 3); - /* Make sure we got through all the callbacks */ + /* Make sure we got through all the callbacks in priority order */ fail_if(counter != 4); + /* Verify order of dels (must be reverse order of adds) */ + counter = 1; + evas_object_event_callback_del(rect, EVAS_CALLBACK_MOVE, _obj_event_cb); + evas_object_event_callback_del(rect, EVAS_CALLBACK_MOVE, _obj_event_cb); + evas_object_event_callback_del(rect, EVAS_CALLBACK_MOVE, _obj_event_cb); + evas_object_event_callback_priority_add(rect, EVAS_CALLBACK_MOVE, 10, + _obj_event_cb, (void *) 2); + evas_object_event_callback_priority_add(rect, EVAS_CALLBACK_MOVE, 0, + _obj_event_cb, (void *) 1); + evas_object_event_callback_priority_add(rect, EVAS_CALLBACK_MOVE, -10, + _obj_event_cb, (void *) 3); + evas_object_event_callback_del(rect, EVAS_CALLBACK_MOVE, _obj_event_cb); + evas_object_move(rect, 2, 2); + + /* Make sure we got through only the 2 first callbacks (in priority order) */ + fail_if(counter != 3); + END_CALLBACK_TEST(); } END_TEST -- 2.7.4