From: Junseok Kim Date: Fri, 4 Nov 2022 06:12:41 +0000 (+0900) Subject: focus: Add create_show_activate testcases X-Git-Tag: accepted/tizen/unified/20221124.015428~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0985c1675824547be8075d2458da178defcc80a4;p=platform%2Fcore%2Fuifw%2Fe-tizen-testcase.git focus: Add create_show_activate testcases Added new testcases for focus. - focus_create_show_activate : test for focus change when immediately requested create, show, and activate window under above layer window. - focus_fullsize_create_show_activate : same as focus_create_show_activate test but using fullsize window. Change-Id: Ib916acfe7fa02960e3db0a597fef179e48ccbd59 --- diff --git a/data/img/mobile/etTestFocus/focus_create_show_activate.png b/data/img/mobile/etTestFocus/focus_create_show_activate.png new file mode 100644 index 0000000..203b818 Binary files /dev/null and b/data/img/mobile/etTestFocus/focus_create_show_activate.png differ diff --git a/data/img/mobile/etTestFocus/focus_fullsize_create_show_activate.png b/data/img/mobile/etTestFocus/focus_fullsize_create_show_activate.png new file mode 100644 index 0000000..b4060a3 Binary files /dev/null and b/data/img/mobile/etTestFocus/focus_fullsize_create_show_activate.png differ diff --git a/src/testcase/0008_focus.cpp b/src/testcase/0008_focus.cpp index e7cdc37..8070635 100644 --- a/src/testcase/0008_focus.cpp +++ b/src/testcase/0008_focus.cpp @@ -344,6 +344,50 @@ TEST_F(etTestFocus, focus_show_activate) ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE); } +TEST_F(etTestFocus, focus_create_show_activate) +{ + etWin *tw = NULL; + Eina_Bool res = EINA_FALSE; + Eina_List *list = NULL, *l = NULL; + + // init TC window, show=true, geom=true + initTC(EINA_TRUE, EINA_TRUE); + + etWin *tw_small_blocker = initNotiWin("TCWin_Noti_Small_Blocker", EINA_TRUE, EINA_TRUE); + showTCWin(tw_small_blocker); + etRunner::get().setWinNotiLevel(tw_small_blocker, + EFL_UTIL_NOTIFICATION_LEVEL_DEFAULT); + ASSERT_FOCUS_IN(tw_small_blocker); + + // Activate tw_blue + res = etRunner::get().setWinActivate(tw_blue); + ASSERT_TRUE(res); + ASSERT_FOCUS_IN(tw_blue); + + // Create & Activate tw_new + etWin *tw_new = initNormalWin("TCWin_New", EINA_TRUE); + ASSERT_TRUE(tw_new != NULL); + res = showActivateTCWin(tw_new); + ASSERT_TRUE(res); + ASSERT_VIS_ON(tw_new); + + // Expected focus res: + // [Top] Noti_Blocker -> ... -> New[focused] -> Blue -> Green -> Red [Bottom] + list = etRunner::get().getWinInfoList(); + ASSERT_TRUE(list != NULL); + + EINA_LIST_CAST_FOREACH(list, l, tw, etWin*) + { + if (tw->native_win == tw_new->native_win) + ASSERT_TRUE(tw->Focus.obj); + else + ASSERT_FALSE(tw->Focus.obj); + } + etRunner::get().freeWinInfoList(list); + + ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE); +} + TEST_F(etTestFocus, focus_obscured_activate) { etWin *tw = NULL; @@ -1715,6 +1759,50 @@ TEST_F(etTestFocus, focus_fullsize_alpha_visible_by_above_lower) ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE); } +TEST_F(etTestFocus, focus_fullsize_create_show_activate) +{ + etWin *tw = NULL; + Eina_Bool res = EINA_FALSE; + Eina_List *list = NULL, *l = NULL; + + // init TC window, show=true, geom=false + initTC(EINA_TRUE, EINA_FALSE); + + etWin *tw_small_blocker = initNotiWin("TCWin_Noti_Small_Blocker", EINA_TRUE, EINA_TRUE); + showTCWin(tw_small_blocker); + etRunner::get().setWinNotiLevel(tw_small_blocker, + EFL_UTIL_NOTIFICATION_LEVEL_DEFAULT); + ASSERT_FOCUS_IN(tw_small_blocker); + + // Activate tw_blue + res = etRunner::get().setWinActivate(tw_blue); + ASSERT_TRUE(res); + ASSERT_FOCUS_IN(tw_blue); + + // Create & Activate tw_new + etWin *tw_new = initNormalWin("TCWin_New", EINA_FALSE); + ASSERT_TRUE(tw_new != NULL); + res = showActivateTCWin(tw_new); + ASSERT_TRUE(res); + ASSERT_VIS_ON(tw_new); + + // Expected focus res: + // [Top] Noti_Blocker -> ... -> New[focused] -> Blue -> Green -> Red [Bottom] + list = etRunner::get().getWinInfoList(); + ASSERT_TRUE(list != NULL); + + EINA_LIST_CAST_FOREACH(list, l, tw, etWin*) + { + if (tw->native_win == tw_new->native_win) + ASSERT_TRUE(tw->Focus.obj); + else + ASSERT_FALSE(tw->Focus.obj); + } + etRunner::get().freeWinInfoList(list); + + ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE); +} + TEST_F(etTestFocus, focus_fullsize_alpha_visible_by_above_hide) { etWin *tw = NULL;