tests/elm: break out click helper function for reuse

also fixes lifetime issue with spin parts

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

View File

@ -40,17 +40,14 @@ _set_flag_quit(void *data, const Efl_Event *ev)
}
static void
click_object(Efl_Part *obj)
click_spin_part(Efl_Part *obj)
{
get_me_to_those_events(spin);
Evas *e = evas_object_evas_get(spin);
//this deletes the part
Eina_Rect r = efl_gfx_entity_geometry_get(obj);
evas_event_feed_mouse_move(e, r.x+r.w/2, r.y+r.h/2, 1234, NULL);
evas_event_feed_mouse_down(e, 1, 0, 1235, NULL);
evas_event_feed_mouse_up(e, 1, 0, 1236, NULL);
efl_ref(obj);
click_object(obj);
edje_object_message_signal_process(obj);
efl_unref(obj);
edje_object_message_signal_process(spin);
}
EFL_START_TEST (spin_value_events)
@ -134,7 +131,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_object(efl_content_get(efl_part(spin, "efl.inc_button")));
click_spin_part(efl_content_get(efl_part(spin, "efl.inc_button")));
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_FALSE);
@ -159,7 +156,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_object(efl_content_get(efl_part(spin, "efl.inc_button")));
click_spin_part(efl_content_get(efl_part(spin, "efl.inc_button")));
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_FALSE);
@ -184,7 +181,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_object(efl_content_get(efl_part(spin, "efl.dec_button")));
click_spin_part(efl_content_get(efl_part(spin, "efl.dec_button")));
ck_assert_int_eq(changed, EINA_TRUE);
ck_assert_int_eq(min_reached, EINA_TRUE);

View File

@ -390,3 +390,13 @@ get_me_to_those_events(Eo *obj)
evas_event_callback_add(e, EVAS_CALLBACK_RENDER_POST, events_norendered, NULL);
ecore_main_loop_begin();
}
void
click_object(Eo *obj)
{
Evas *e = evas_object_evas_get(obj);
Eina_Rect r = efl_gfx_entity_geometry_get(obj);
evas_event_feed_mouse_move(e, r.x + r.w / 2, r.y + r.h / 2, 0, NULL);
evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
evas_event_feed_mouse_up(e, 1, 0, 0, NULL);
}

View File

@ -11,4 +11,5 @@ void fail_on_errors_teardown(void);
void fail_on_errors_setup(void);
void get_me_to_those_events(Eo *obj);
void click_object(Eo *obj);
#endif