diff options
Diffstat (limited to 'src/tests/elementary/efl_ui_test_widget.c')
-rw-r--r-- | src/tests/elementary/efl_ui_test_widget.c | 33 |
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); } |