tests/elm: create abstract function for clicking swallowed part objects

this handles all the part object getting and signal processing and geometry
calculating so you can get to clickin those parts faster

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9269
This commit is contained in:
Mike Blumenkrantz 2019-07-10 15:15:19 -04:00 committed by Marcel Hollerbach
parent 4a1c13f491
commit 162c0e2ba5
3 changed files with 18 additions and 9 deletions

View File

@ -40,14 +40,10 @@ _set_flag_quit(void *data, const Efl_Event *ev)
}
static void
click_spin_part(Efl_Part *obj)
click_spin_part(Eo *obj, const char *part)
{
get_me_to_those_events(spin);
efl_ref(obj);
click_object(obj);
edje_object_message_signal_process(obj);
efl_unref(obj);
edje_object_message_signal_process(spin);
click_part(obj, part);
}
EFL_START_TEST (spin_value_events)
@ -131,7 +127,7 @@ EFL_START_TEST (spin_value_inc)
efl_event_callback_add(spin, EFL_UI_SPIN_EVENT_MAX_REACHED, _set_flag, &max_reached);
efl_event_callback_add(spin, EFL_UI_SPIN_BUTTON_EVENT_DELAY_CHANGED, _set_flag_quit, &delay_changed);
click_spin_part(efl_content_get(efl_part(spin, "efl.inc_button")));
click_spin_part(spin, "efl.inc_button");
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_FALSE);
@ -156,7 +152,7 @@ EFL_START_TEST (spin_value_inc_max)
efl_event_callback_add(spin, EFL_UI_SPIN_EVENT_MAX_REACHED, _set_flag, &max_reached);
efl_event_callback_add(spin, EFL_UI_SPIN_BUTTON_EVENT_DELAY_CHANGED, _set_flag_quit, &delay_changed);
click_spin_part(efl_content_get(efl_part(spin, "efl.inc_button")));
click_spin_part(spin, "efl.inc_button");
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_FALSE);
@ -181,7 +177,7 @@ EFL_START_TEST (spin_value_dec_min)
efl_event_callback_add(spin, EFL_UI_SPIN_EVENT_MAX_REACHED, _set_flag, &max_reached);
efl_event_callback_add(spin, EFL_UI_SPIN_BUTTON_EVENT_DELAY_CHANGED, _set_flag_quit, &delay_changed);
click_spin_part(efl_content_get(efl_part(spin, "efl.dec_button")));
click_spin_part(spin, "efl.dec_button");
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_TRUE);

View File

@ -400,3 +400,15 @@ click_object(Eo *obj)
evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
evas_event_feed_mouse_up(e, 1, 0, 0, NULL);
}
void
click_part(Eo *obj, const char *part)
{
Efl_Part *part_obj = efl_ref(efl_part(obj, part));
Eo *content = efl_content_get(part_obj);
click_object(content);
if (efl_isa(content, EFL_LAYOUT_SIGNAL_INTERFACE))
edje_object_message_signal_process(content);
edje_object_message_signal_process(obj);
efl_unref(part_obj);
}

View File

@ -12,4 +12,5 @@ void fail_on_errors_setup(void);
void get_me_to_those_events(Eo *obj);
void click_object(Eo *obj);
void click_part(Eo *obj, const char *part);
#endif