summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2020-04-03 11:50:19 -0400
committerMike Blumenkrantz <zmike@samsung.com>2020-04-08 12:37:46 -0400
commit4009ffb4d2d2532789bf1a015c7584ed11332108 (patch)
tree7d9531acf83a9d0e70f51ccd26080681b9f350ef
parent3dd751fdd4226c919c5b28291f5474dde14fb21c (diff)
downloadefl-4009ffb4d2d2532789bf1a015c7584ed11332108.tar.gz
tests/elm: add hoversel test to verify edge of canvas positioning
ensure that T8642 doesn't reoccur Differential Revision: https://phab.enlightenment.org/D11647
-rw-r--r--src/tests/elementary/elm_test_hoversel.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/tests/elementary/elm_test_hoversel.c b/src/tests/elementary/elm_test_hoversel.c
index 0ccc5834da..58b18b94ce 100644
--- a/src/tests/elementary/elm_test_hoversel.c
+++ b/src/tests/elementary/elm_test_hoversel.c
@@ -108,9 +108,49 @@ EFL_START_TEST(elm_test_hoversel_behavior)
}
EFL_END_TEST
+EFL_START_TEST(elm_test_hoversel_position)
+{
+ Eo *hoversel, *win = win_add();
+
+ evas_object_resize(win, 500, 500);
+ hoversel = elm_hoversel_add(win);
+ evas_object_geometry_set(hoversel, 450, 450, 50, 50);
+ elm_hoversel_hover_parent_set(hoversel, win);
+ elm_object_text_set(hoversel, "Vertical");
+ elm_hoversel_item_add(hoversel, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL);
+ elm_hoversel_item_add(hoversel, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL);
+ elm_hoversel_item_add(hoversel, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL);
+ elm_hoversel_item_add(hoversel, "Item 4 - Long Label Here", "close", ELM_ICON_STANDARD, NULL, NULL);
+
+ evas_object_show(win);
+ evas_object_show(hoversel);
+ elm_object_focus_set(hoversel, EINA_TRUE);
+
+ get_me_to_those_events(win);
+ assert_object_size_eq(hoversel, 50, 50);
+ click_object(hoversel);
+ get_me_to_those_events(win);
+
+ wait_timer(0.6); // from default theme
+ ecore_main_loop_iterate();
+
+ ELM_HOVERSEL_DATA_GET(hoversel, sd);
+ {
+ int x, y, w, h;
+ Eo *item = eina_list_data_get(elm_box_children_get(sd->bx));
+ evas_object_geometry_get(item, &x, &y, &w, &h);
+
+ /* verify that all buttons are in-canvas */
+ ck_assert_int_le(x + w, 500);
+ ck_assert_int_le(y + h, 500);
+ }
+}
+EFL_END_TEST
+
void elm_test_hoversel(TCase *tc)
{
tcase_add_test(tc, elm_hoversel_legacy_type_check);
tcase_add_test(tc, elm_atspi_role_get);
tcase_add_test(tc, elm_test_hoversel_behavior);
+ tcase_add_test(tc, elm_test_hoversel_position);
}