summaryrefslogtreecommitdiff
path: root/src/tests/elementary/elm_test_win.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-01-31 11:54:58 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-01-31 11:54:58 -0500
commit2a218e28c3e53954915e11ebfc27d1ff6d9d4e9b (patch)
tree44e96a7245800921fb50350fbf0261b44bc51cd4 /src/tests/elementary/elm_test_win.c
parent9b129b5c7a9b74b2261066b55037c7891f10c12d (diff)
efl_ui_win: add 'exit_on_close' property and unit test
Summary: this property can enable the associated window to quit the main loop with the passed exit code when the window is destroyed @feature fix T5494 Depends on D7594 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T5494 Differential Revision: https://phab.enlightenment.org/D7595
Diffstat (limited to '')
-rw-r--r--src/tests/elementary/elm_test_win.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tests/elementary/elm_test_win.c b/src/tests/elementary/elm_test_win.c
index 2b0ec55b2c..0c346911e9 100644
--- a/src/tests/elementary/elm_test_win.c
+++ b/src/tests/elementary/elm_test_win.c
@@ -208,6 +208,26 @@ EFL_START_TEST(elm_win_policy_quit_last_window_hidden)
208} 208}
209EFL_END_TEST 209EFL_END_TEST
210 210
211EFL_START_TEST(elm_win_test_exit_on_close)
212{
213 Eo *win = win_add(NULL, "win", ELM_WIN_BASIC);
214 Eina_Value val, *exit_val;
215 int code;
216
217 val = eina_value_int_init(66);
218 efl_ui_win_exit_on_close_set(win, &val);
219 efl_gfx_entity_visible_set(win, EINA_TRUE);
220
221 Eina_Bool fail_flag = EINA_FALSE;
222 ecore_timer_add(_timeout1, _timer_del_window_cb, win);
223 ecore_timer_add(_timeout_fail, _timer_fail_flag_cb, &fail_flag);
224
225 exit_val = efl_loop_begin(efl_loop_get(win));
226 ck_assert(eina_value_int_get(exit_val, &code));
227 ck_assert_int_eq(code, 66);
228}
229EFL_END_TEST
230
211EFL_START_TEST(elm_win_autohide_and_policy_quit_last_window_hidden) 231EFL_START_TEST(elm_win_autohide_and_policy_quit_last_window_hidden)
212{ 232{
213 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN); 233 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
@@ -436,6 +456,7 @@ void elm_test_win(TCase *tc)
436 tcase_add_test(tc, elm_atspi_role_get); 456 tcase_add_test(tc, elm_atspi_role_get);
437 tcase_add_test(tc, elm_atspi_component_screen_position); 457 tcase_add_test(tc, elm_atspi_component_screen_position);
438 tcase_add_test(tc, elm_win_policy_quit_last_window_hidden); 458 tcase_add_test(tc, elm_win_policy_quit_last_window_hidden);
459 tcase_add_test(tc, elm_win_test_exit_on_close);
439 tcase_add_test(tc, elm_win_test_app_exit_on_windows_close); 460 tcase_add_test(tc, elm_win_test_app_exit_on_windows_close);
440 tcase_add_test(tc, efl_ui_win_multi_touch_inputs); 461 tcase_add_test(tc, efl_ui_win_multi_touch_inputs);
441#ifdef HAVE_ELEMENTARY_X 462#ifdef HAVE_ELEMENTARY_X