From 4a1c13f491c70397deb85a2935882447eebc34a5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 10 Jul 2019 15:06:08 -0400 Subject: [PATCH] tests/elm: break out click helper function for reuse also fixes lifetime issue with spin parts Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9268 --- .../elementary/efl_ui_test_spin_button.c | 19 ++++++++----------- src/tests/elementary/suite_helpers.c | 10 ++++++++++ src/tests/elementary/suite_helpers.h | 1 + 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/tests/elementary/efl_ui_test_spin_button.c b/src/tests/elementary/efl_ui_test_spin_button.c index c495c881a8..bded16cb13 100644 --- a/src/tests/elementary/efl_ui_test_spin_button.c +++ b/src/tests/elementary/efl_ui_test_spin_button.c @@ -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); diff --git a/src/tests/elementary/suite_helpers.c b/src/tests/elementary/suite_helpers.c index 9d73c5d26b..080abadd4e 100644 --- a/src/tests/elementary/suite_helpers.c +++ b/src/tests/elementary/suite_helpers.c @@ -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); +} diff --git a/src/tests/elementary/suite_helpers.h b/src/tests/elementary/suite_helpers.h index 12536d3884..46bd04ef23 100644 --- a/src/tests/elementary/suite_helpers.h +++ b/src/tests/elementary/suite_helpers.h @@ -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