From 162c0e2ba562d953724da370d7b7ffe560350993 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 10 Jul 2019 15:15:19 -0400 Subject: [PATCH] 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 Differential Revision: https://phab.enlightenment.org/D9269 --- src/tests/elementary/efl_ui_test_spin_button.c | 14 +++++--------- src/tests/elementary/suite_helpers.c | 12 ++++++++++++ src/tests/elementary/suite_helpers.h | 1 + 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/tests/elementary/efl_ui_test_spin_button.c b/src/tests/elementary/efl_ui_test_spin_button.c index bded16cb13..78b21a4046 100644 --- a/src/tests/elementary/efl_ui_test_spin_button.c +++ b/src/tests/elementary/efl_ui_test_spin_button.c @@ -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); diff --git a/src/tests/elementary/suite_helpers.c b/src/tests/elementary/suite_helpers.c index 080abadd4e..ee2efcb8d4 100644 --- a/src/tests/elementary/suite_helpers.c +++ b/src/tests/elementary/suite_helpers.c @@ -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); +} diff --git a/src/tests/elementary/suite_helpers.h b/src/tests/elementary/suite_helpers.h index 46bd04ef23..9c1bd2a866 100644 --- a/src/tests/elementary/suite_helpers.h +++ b/src/tests/elementary/suite_helpers.h @@ -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