0003_base_operation_multi_wins: added test for iconify and uniconify 19/258219/3
authorJunseok, Kim <juns.kim@samsung.com>
Wed, 12 May 2021 08:50:05 +0000 (17:50 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Wed, 12 May 2021 10:25:06 +0000 (19:25 +0900)
Change-Id: I6b71d4a721d3dcfd4cce3b53b79b5c84417d5704

data/img/etTestBaseMulti/multi_all_full_wins_iconify.png [new file with mode: 0644]
data/img/etTestBaseMulti/multi_all_full_wins_uniconify.png [new file with mode: 0644]
data/img/etTestBaseMulti/multi_all_wins_iconify.png [new file with mode: 0644]
data/img/etTestBaseMulti/multi_all_wins_uniconify.png [new file with mode: 0644]
src/testcase/0003_base_operation_multi_wins.cpp

diff --git a/data/img/etTestBaseMulti/multi_all_full_wins_iconify.png b/data/img/etTestBaseMulti/multi_all_full_wins_iconify.png
new file mode 100644 (file)
index 0000000..375e688
Binary files /dev/null and b/data/img/etTestBaseMulti/multi_all_full_wins_iconify.png differ
diff --git a/data/img/etTestBaseMulti/multi_all_full_wins_uniconify.png b/data/img/etTestBaseMulti/multi_all_full_wins_uniconify.png
new file mode 100644 (file)
index 0000000..b924218
Binary files /dev/null and b/data/img/etTestBaseMulti/multi_all_full_wins_uniconify.png differ
diff --git a/data/img/etTestBaseMulti/multi_all_wins_iconify.png b/data/img/etTestBaseMulti/multi_all_wins_iconify.png
new file mode 100644 (file)
index 0000000..f191cd3
Binary files /dev/null and b/data/img/etTestBaseMulti/multi_all_wins_iconify.png differ
diff --git a/data/img/etTestBaseMulti/multi_all_wins_uniconify.png b/data/img/etTestBaseMulti/multi_all_wins_uniconify.png
new file mode 100644 (file)
index 0000000..a052ffe
Binary files /dev/null and b/data/img/etTestBaseMulti/multi_all_wins_uniconify.png differ
index 39dc7c8..609fc64 100644 (file)
@@ -664,6 +664,127 @@ TEST_F(etTestBaseMulti, multi_all_wins_lower2)
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
+TEST_F(etTestBaseMulti, multi_all_wins_iconify)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+   int pass_count = 0;
+
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // Iconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+   ASSERT_TRUE(res);
+   ASSERT_ICONIFIED(tw_blue);
+
+   // Expected stack res:
+   // [Top] Blue -> Green -> Red [Bottom]
+   list = etRunner::get().getWinInfoList();
+   ASSERT_TRUE(list != NULL);
+
+   EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+     {
+        if (tw->layer > 200)
+          continue;
+
+        if (pass_count == 0)
+          {
+             ASSERT_EQ(tw->native_win, tw_blue->native_win);
+             ASSERT_FALSE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else if (pass_count == 1)
+          {
+             ASSERT_EQ(tw->native_win, tw_green->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else
+          {
+             ASSERT_EQ(tw->native_win, tw_red->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+          }
+
+        break;
+     }
+   etRunner::get().freeWinInfoList(list);
+
+   ASSERT_EQ(3, pass_count);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestBaseMulti, multi_all_wins_uniconify)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+   int pass_count = 0;
+
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set tw_blue bg color change
+   tw_blue->startBGColor(0.5);
+
+   // Iconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+   ASSERT_TRUE(res);
+   ASSERT_ICONIFIED(tw_blue);
+
+   // Unconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_FALSE);
+   ASSERT_TRUE(res);
+   ASSERT_UNICONIFIED(tw_blue);
+
+   // unset tw_blue bg color change
+   tw_blue->stopBGColor();
+
+   // Expected stack res:
+   // [Top] Blue -> Green -> Red [Bottom]
+   list = etRunner::get().getWinInfoList();
+   ASSERT_TRUE(list != NULL);
+
+   EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+     {
+        if (tw->layer > 200)
+          continue;
+
+        if (pass_count == 0)
+          {
+             ASSERT_EQ(tw->native_win, tw_blue->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else if (pass_count == 1)
+          {
+             ASSERT_EQ(tw->native_win, tw_green->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else
+          {
+             ASSERT_EQ(tw->native_win, tw_red->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+          }
+
+        break;
+     }
+   etRunner::get().freeWinInfoList(list);
+
+   ASSERT_EQ(3, pass_count);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
 TEST_F(etTestBaseMulti, multi_all_full_wins_basic)
 {
    etWin *tw = NULL;
@@ -1330,6 +1451,127 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_lower_activate)
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
+TEST_F(etTestBaseMulti, multi_all_full_wins_iconify)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+   int pass_count = 0;
+
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
+
+   // Iconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+   ASSERT_TRUE(res);
+   ASSERT_ICONIFIED(tw_blue);
+
+   // Expected stack res:
+   // [Top] Blue -> Green -> Red [Bottom]
+   list = etRunner::get().getWinInfoList();
+   ASSERT_TRUE(list != NULL);
+
+   EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+     {
+        if (tw->layer > 200)
+          continue;
+
+        if (pass_count == 0)
+          {
+             ASSERT_EQ(tw->native_win, tw_blue->native_win);
+             ASSERT_FALSE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else if (pass_count == 1)
+          {
+             ASSERT_EQ(tw->native_win, tw_green->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else
+          {
+             ASSERT_EQ(tw->native_win, tw_red->native_win);
+             ASSERT_FALSE(tw->Vis.obj);
+             pass_count++;
+          }
+
+        break;
+     }
+   etRunner::get().freeWinInfoList(list);
+
+   ASSERT_EQ(3, pass_count);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestBaseMulti, multi_all_full_wins_uniconify)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+   int pass_count = 0;
+
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
+
+   // set tw_blue bg color change
+   tw_blue->startBGColor(0.5);
+
+   // Iconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+   ASSERT_TRUE(res);
+   ASSERT_ICONIFIED(tw_blue);
+
+   // Unconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_FALSE);
+   ASSERT_TRUE(res);
+   ASSERT_UNICONIFIED(tw_blue);
+
+   // unset tw_blue bg color change
+   tw_blue->stopBGColor();
+
+   // Expected stack res:
+   // [Top] Blue -> Green -> Red [Bottom]
+   list = etRunner::get().getWinInfoList();
+   ASSERT_TRUE(list != NULL);
+
+   EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+     {
+        if (tw->layer > 200)
+          continue;
+
+        if (pass_count == 0)
+          {
+             ASSERT_EQ(tw->native_win, tw_blue->native_win);
+             ASSERT_TRUE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else if (pass_count == 1)
+          {
+             ASSERT_EQ(tw->native_win, tw_green->native_win);
+             ASSERT_FALSE(tw->Vis.obj);
+             pass_count++;
+             continue;
+          }
+        else
+          {
+             ASSERT_EQ(tw->native_win, tw_red->native_win);
+             ASSERT_FALSE(tw->Vis.obj);
+             pass_count++;
+          }
+
+        break;
+     }
+   etRunner::get().freeWinInfoList(list);
+
+   ASSERT_EQ(3, pass_count);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
 TEST_F(etTestBaseMulti, multi_2wins_show1)
 {
    etWin *tw = NULL;