focus: fix some TCs for considering taskbar 29/300629/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 30 Oct 2023 07:51:34 +0000 (16:51 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 30 Oct 2023 07:51:34 +0000 (16:51 +0900)
Change-Id: I26f7ae71219496be9929b0d9f4e47459a75b5fc3

src/testcase/0008_focus.cpp

index f519d7a8c2432bc367104750e832099b73a4dd2f..4b250e0af250268342e008f0d3dd17a683d77b48 100644 (file)
@@ -452,7 +452,6 @@ TEST_F(etTestFocus, focus_obscured_activate_destroy)
    hideTCWin(tw_blocker);
    tw_blocker = NULL;
    ASSERT_VIS_ON(tw_red);
-   ASSERT_FOCUS_IN(tw_red);
 
    // Expected focus res:
    // [Top] Red[focused] -> Blue -> Green [Bottom]
@@ -1590,7 +1589,12 @@ TEST_F(etTestFocus, focus_fullsize_skip_set)
 
    EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
      {
-        ASSERT_FALSE(tw->Focus.obj);
+        if ((tw->native_win == tw_blue->native_win) ||
+            (tw->native_win == tw_red->native_win) ||
+            (tw->native_win == tw_green->native_win))
+          {
+             ASSERT_FALSE(tw->Focus.obj);
+          }
      }
    etRunner::get().freeWinInfoList(list);
 
@@ -1601,6 +1605,7 @@ TEST_F(etTestFocus, focus_fullsize_skip_unset)
 {
    etWin *tw = NULL;
    Eina_List *list = NULL, *l = NULL;
+   Eina_Bool res;
 
    // init TC window, show=true, geom=false
    initTC(EINA_TRUE, EINA_FALSE);
@@ -1611,8 +1616,28 @@ TEST_F(etTestFocus, focus_fullsize_skip_unset)
    etRunner::get().setFocusSkip(tw_blue, EINA_TRUE);
    ASSERT_FOCUS_OUT(tw_blue);
 
+   res = etRunner::get().setWinActivate(tw_blue);
+   ASSERT_TRUE(res);
+
+   // Expected focus res:
+   // [Top] Blue[focused] -> Green -> Red [Bottom]
+   list = etRunner::get().getWinInfoList();
+   ASSERT_TRUE(list != NULL);
+
+   EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+     {
+        if (tw->native_win == tw_blue->native_win)
+          {
+             ASSERT_FALSE(tw->Focus.obj);
+          }
+     }
+   etRunner::get().freeWinInfoList(list);
+
    // unset focus_skip on tw_blue
    etRunner::get().setFocusSkip(tw_blue, EINA_FALSE);
+
+   res = etRunner::get().setWinActivate(tw_blue);
+   ASSERT_TRUE(res);
    ASSERT_FOCUS_IN(tw_blue);
 
    // Expected focus res:
@@ -1655,7 +1680,12 @@ TEST_F(etTestFocus, focus_fullsize_below_skip_above_remove)
 
    EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
      {
-        ASSERT_FALSE(tw->Focus.obj);
+        if ((tw->native_win == tw_blue->native_win) ||
+            (tw->native_win == tw_green->native_win) ||
+            (tw->native_win == tw_red->native_win))
+          {
+             ASSERT_FALSE(tw->Focus.obj);
+          }
      }
    etRunner::get().freeWinInfoList(list);
 
@@ -1688,7 +1718,12 @@ TEST_F(etTestFocus, focus_fullsize_show_after_skip_set)
 
    EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
      {
-        ASSERT_FALSE(tw->Focus.obj);
+        if ((tw->native_win == tw_blue->native_win) ||
+            (tw->native_win == tw_green->native_win) ||
+            (tw->native_win == tw_red->native_win))
+          {
+             ASSERT_FALSE(tw->Focus.obj);
+          }
      }
    etRunner::get().freeWinInfoList(list);