bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4a1c13f491c70397deb85a2935882447eebc34a5

commit 4a1c13f491c70397deb85a2935882447eebc34a5
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jul 10 15:06:08 2019 -0400

    tests/elm: break out click helper function for reuse
    
    also fixes lifetime issue with spin parts
    
    Reviewed-by: Marcel Hollerbach <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D9268
---
 src/tests/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

-- 


Reply via email to