summaryrefslogtreecommitdiff
path: root/src/tests/elementary/efl_ui_test_widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/elementary/efl_ui_test_widget.c')
-rw-r--r--src/tests/elementary/efl_ui_test_widget.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/tests/elementary/efl_ui_test_widget.c b/src/tests/elementary/efl_ui_test_widget.c
index 7e55fd1b79..7b260dd40c 100644
--- a/src/tests/elementary/efl_ui_test_widget.c
+++ b/src/tests/elementary/efl_ui_test_widget.c
@@ -332,6 +332,38 @@ EFL_START_TEST(efl_ui_test_widget_win_provider_find)
}
EFL_END_TEST
+#define CHECK_UNFOCUSABLE_STATE(x) \
+ ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.box), x); \
+ ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.win), x); \
+ ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.ic), x); \
+ ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.btn1), x); \
+ ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.btn2), x)
+
+
+EFL_START_TEST(efl_ui_test_widget_tree_unfocusable)
+{
+ State s;
+
+ _small_ui(&s);
+ CHECK_UNFOCUSABLE_STATE(0);
+
+ elm_widget_tree_unfocusable_set(s.win, EINA_TRUE);
+ CHECK_UNFOCUSABLE_STATE(1);
+
+ elm_widget_tree_unfocusable_set(s.win, EINA_FALSE);
+ CHECK_UNFOCUSABLE_STATE(0);
+
+ elm_widget_tree_unfocusable_set(s.win, EINA_TRUE);
+ CHECK_UNFOCUSABLE_STATE(1);
+
+ elm_widget_tree_unfocusable_set(s.win, EINA_TRUE);
+ CHECK_UNFOCUSABLE_STATE(1);
+
+ elm_widget_tree_unfocusable_set(s.win, EINA_FALSE);
+ CHECK_UNFOCUSABLE_STATE(0);
+}
+EFL_END_TEST
+
void efl_ui_test_widget(TCase *tc)
{
tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown);
@@ -346,4 +378,5 @@ void efl_ui_test_widget(TCase *tc)
tcase_add_test(tc, efl_ui_test_widget_disabled_parent);
tcase_add_test(tc, efl_ui_test_widget_disabled_behaviour);
tcase_add_test(tc, efl_ui_test_widget_win_provider_find);
+ tcase_add_test(tc, efl_ui_test_widget_tree_unfocusable);
}