focus: Add create_show_activate testcases 57/283857/1
authorJunseok Kim <juns.kim@samsung.com>
Fri, 4 Nov 2022 06:12:41 +0000 (15:12 +0900)
committerJunseok Kim <juns.kim@samsung.com>
Fri, 4 Nov 2022 06:12:44 +0000 (15:12 +0900)
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

data/img/mobile/etTestFocus/focus_create_show_activate.png [new file with mode: 0644]
data/img/mobile/etTestFocus/focus_fullsize_create_show_activate.png [new file with mode: 0644]
src/testcase/0008_focus.cpp

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 (file)
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 (file)
index 0000000..b4060a3
Binary files /dev/null and b/data/img/mobile/etTestFocus/focus_fullsize_create_show_activate.png differ
index e7cdc3780a1a355cca7a1657cdc2ebfba189b38c..807063509c4267a7dd9f75f692734f52b736d5b1 100644 (file)
@@ -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;