efl_test_multi_selectable: test for the correct event

EFL_UI_EVENT_ITEM_SELECTED / UNSELECTED is the wrong event here. We
should check of the selection changed event. ITEM_SELECTED is the legacy
event. this was not found based on the fact that we test for this event
to NOT be executed.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10011
This commit is contained in:
Marcel Hollerbach 2019-09-18 17:42:28 +02:00 committed by Cedric Bail
parent 6960751c45
commit 422154c0de
1 changed files with 9 additions and 23 deletions

View File

@ -17,15 +17,6 @@
spec-meta-end */
static void
_set_pointer_quit(void *data, const Efl_Event *ev)
{
Efl_Ui_Item **b = data;
ck_assert_ptr_eq(*b, NULL);
*b = ev->info;
}
static void
_iterator_to_array(Eina_Array **arr, Eina_Iterator *iter)
{
@ -137,31 +128,26 @@ EFL_END_TEST
EFL_START_TEST(test_none_select)
{
Efl_Ui_Item *selected = NULL;
Efl_Ui_Item *unselected = NULL;
Eina_Array *arr_selected;
int c = 0;
efl_ui_select_mode_set(widget, EFL_UI_SELECT_MODE_NONE);
efl_event_callback_add(widget, EFL_UI_EVENT_ITEM_SELECTED, _set_pointer_quit, &selected);
efl_event_callback_add(widget, EFL_UI_EVENT_ITEM_UNSELECTED, _set_pointer_quit, &unselected);
efl_event_callback_add(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
efl_event_callback_add(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
ck_assert_ptr_eq(selected, NULL);
ck_assert_ptr_eq(unselected, NULL);
selected = NULL;
unselected = NULL;
get_me_to_those_events(widget);
ck_assert_int_eq(c, 0);
efl_ui_selectable_selected_set(efl_pack_content_get(widget, 2), EINA_TRUE);
ck_assert_ptr_eq(selected, NULL);
ck_assert_ptr_eq(unselected, NULL);
selected = NULL;
unselected = NULL;
get_me_to_those_events(widget);
ck_assert_int_eq(c, 0);
ck_assert_int_eq(efl_ui_selectable_selected_get(efl_pack_content_get(widget, 0)), EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(efl_pack_content_get(widget, 2)), EINA_FALSE);
ck_assert_ptr_eq(efl_ui_single_selectable_last_selected_get(widget), NULL);
_iterator_to_array(&arr_selected, efl_ui_selected_items_get(widget));
ck_assert_int_eq(eina_array_count(arr_selected), 0);
efl_event_callback_del(widget, EFL_UI_EVENT_ITEM_SELECTED, _set_pointer_quit, &selected);
efl_event_callback_del(widget, EFL_UI_EVENT_ITEM_UNSELECTED, _set_pointer_quit, &unselected);
efl_event_callback_del(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
efl_event_callback_del(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
}
EFL_END_TEST