bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5565e904795ce32ba734a3022f01753acb1dd738

commit 5565e904795ce32ba734a3022f01753acb1dd738
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Tue Mar 31 12:58:47 2020 -0400

    tests/hover: add behavior tests for elm_hover
    
    verify geometry and smart callback triggering
    
    Reviewed-by: Stefan Schmidt <ste...@datenfreihafen.org>
    Differential Revision: https://phab.enlightenment.org/D11632
---
 src/tests/elementary/elm_test_hover.c | 48 +++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/src/tests/elementary/elm_test_hover.c 
b/src/tests/elementary/elm_test_hover.c
index de275216f2..323eb5c8d6 100644
--- a/src/tests/elementary/elm_test_hover.c
+++ b/src/tests/elementary/elm_test_hover.c
@@ -41,8 +41,56 @@ EFL_START_TEST(elm_atspi_role_get)
 }
 EFL_END_TEST
 
+EFL_START_TEST(elm_test_hover_behavior)
+{
+   Evas_Object *win, *hover, *target, *rect;
+   int count = 0;
+   int count_dismiss = 0;
+   int count_clicked = 0;
+
+   win = win_add(NULL, "hover", ELM_WIN_BASIC);
+   evas_object_resize(win, 100, 100);
+
+   hover = elm_hover_add(win);
+   evas_object_smart_callback_add(hover, "smart,changed", 
event_callback_that_increments_an_int_when_called, &count);
+   evas_object_smart_callback_add(hover, "dismissed", 
event_callback_single_call_int_data, &count_dismiss);
+   evas_object_smart_callback_add(hover, "clicked", 
event_callback_single_call_int_data, &count_clicked);
+
+   target = elm_box_add(win);
+
+   elm_hover_parent_set(hover, win);
+   elm_hover_target_set(hover, target);
+
+   rect = evas_object_rectangle_add(evas_object_evas_get(win));
+   evas_object_size_hint_min_set(rect, 20, 20);
+   evas_object_show(rect);
+   elm_object_part_content_set(hover, "smart", rect);
+
+   evas_object_move(target, 40, 40);
+   evas_object_show(win);
+   evas_object_show(hover);
+   get_me_to_those_events(hover);
+
+   /* 1 from setting content, 1 from moving target object */
+   ck_assert_int_eq(count, 2);
+
+   assert_object_size_eq(rect, 20, 20);
+   assert_object_size_eq(hover, 0, 0);
+   assert_object_pos_eq(hover, 40, 40);
+   /* using non-centered slot */
+   assert_object_pos_eq(rect, 40, 30);
+
+   elm_hover_dismiss(hover);
+   get_me_to_those_events(hover);
+   /* these are both triggered on dismiss */
+   ck_assert_int_eq(count_dismiss, 1);
+   ck_assert_int_eq(count_clicked, 1);
+}
+EFL_END_TEST
+
 void elm_test_hover(TCase *tc)
 {
    tcase_add_test(tc, elm_hover_legacy_type_check);
    tcase_add_test(tc, elm_atspi_role_get);
+   tcase_add_test(tc, elm_test_hover_behavior);
 }

-- 


Reply via email to