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;
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;
--- /dev/null
+#include "e_test_event.h"
+#include "e_test_base.h"
+
+class etTestIconicState : public ::etTCBase
+{
+ public:
+ etTestIconicState() { };
+ ~etTestIconicState() { };
+
+ protected:
+ etWin *tw_red = NULL;
+ etWin *tw_green = NULL;
+ etWin *tw_blue = NULL;
+ std::string testCaseName;
+ std::string testName;
+
+ void initTC(Eina_Bool show_win, Eina_Bool usr_geom);
+};
+
+void
+etTestIconicState::initTC(Eina_Bool show_win, Eina_Bool usr_geom)
+{
+ const ::testing::TestInfo *const test_info = ::testing::UnitTest::GetInstance()->current_test_info();
+
+ tw_red = initNormalWin("TCWin_Normal_red", usr_geom);
+ ASSERT_TRUE(tw_red != NULL) << "failed to initiation window";
+ if (show_win)
+ {
+ showTCWin(tw_red);
+ ASSERT_VIS_ON(tw_red);
+ }
+
+ tw_green = initNormalWin("TCWin_Normal_green", usr_geom);
+ ASSERT_TRUE(tw_green != NULL) << "failed to initiation window";
+ if (show_win)
+ {
+ showTCWin(tw_green);
+ ASSERT_VIS_ON(tw_green);
+ ASSERT_ICONIFIED_BY_SERVER(tw_red);
+ }
+
+ tw_blue = initNormalWin("TCWin_Normal_blue", usr_geom);
+ ASSERT_TRUE(tw_blue != NULL) << "failed to initiation window";
+ if (show_win)
+ {
+ showTCWin(tw_blue);
+ ASSERT_VIS_ON(tw_blue);
+ ASSERT_ICONIFIED_BY_SERVER(tw_green);
+ }
+
+ testCaseName = test_info->test_case_name();
+ testName = test_info->name();
+}
+
+TEST_F(etTestIconicState, iconify_by_client_basic)
+{
+ 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.1);
+
+ // Iconify Blue
+ res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+ ASSERT_TRUE(res);
+ ASSERT_ICONIFIED(tw_blue);
+
+ // unset tw_blue bg color change
+ tw_blue->stopBGColor();
+
+ // Expected stack res:
+ // [Top] Blue (iconified) -> 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);
+ ASSERT_TRUE(tw->iconic.set);
+ ASSERT_TRUE(tw->iconic.by_client);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_client_basic2)
+{
+ 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 Green
+ res = etRunner::get().setWinIconic(tw_green, EINA_TRUE);
+ ASSERT_TRUE(res);
+
+ // Expected stack res:
+ // [Top] Blue -> Green (iconified) -> 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);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_green->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ ASSERT_TRUE(tw->iconic.by_client);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_client_basic3)
+{
+ 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 Green
+ res = etRunner::get().setWinIconic(tw_green, EINA_TRUE);
+ ASSERT_TRUE(res);
+
+ // hide Blue
+ hideTCWin(tw_blue);
+ ASSERT_VIS_OFF(tw_blue);
+
+ // Expected stack res:
+ // [Top] Blue (hide) -> Green (iconified) -> 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);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_green->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ ASSERT_TRUE(tw->iconic.by_client);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_client_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.1);
+
+ // Iconify Blue
+ res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+ ASSERT_TRUE(res);
+ ASSERT_ICONIFIED(tw_blue);
+
+ // Uniconify 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);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_green->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_client_uniconify2)
+{
+ 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_green bg color change
+ tw_green->startBGColor(0.1);
+
+ // Iconify Green
+ res = etRunner::get().setWinIconic(tw_green, EINA_TRUE);
+ ASSERT_TRUE(res);
+
+ // Uniconify Green
+ res = etRunner::get().setWinIconic(tw_green, EINA_FALSE);
+ ASSERT_TRUE(res);
+ ASSERT_UNICONIFIED(tw_green);
+
+ // unset tw_green bg color change
+ tw_green->stopBGColor();
+
+ // Expected stack res:
+ // [Top] Green -> Blue -> 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_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_blue->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_client_uniconify3)
+{
+ 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_green bg color change
+ tw_green->startBGColor(0.1);
+
+ // Uniconify Green
+ res = etRunner::get().setWinIconic(tw_green, EINA_FALSE);
+ ASSERT_TRUE(res);
+ ASSERT_UNICONIFIED(tw_green);
+
+ // unset tw_green bg color change
+ tw_green->stopBGColor();
+
+ // Expected stack res:
+ // [Top] Green -> Blue -> 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_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_blue->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_server_basic)
+{
+ etWin *tw = NULL;
+ Eina_Bool res = EINA_FALSE;
+ Eina_List *list = NULL, *l = NULL;
+ int pass_count = 0;
+
+ // init TC window, show=false, geom=false
+ initTC(EINA_FALSE, EINA_FALSE);
+
+ // show tw_red
+ res = showTCWin(tw_red);
+ ASSERT_TRUE(res);
+ ASSERT_VIS_ON(tw_red);
+
+ // show tw_green
+ res = showTCWin(tw_green);
+ ASSERT_TRUE(res);
+ ASSERT_VIS_ON(tw_green);
+
+ // event check tw_red is iconified_by_server
+ ASSERT_ICONIFIED_BY_SERVER(tw_red);
+
+ // Expected stack res:
+ // [Top] Green -> Red (iconified by server) [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_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_FALSE(tw->Vis.obj);
+ ASSERT_TRUE(tw->iconic.set);
+ ASSERT_FALSE(tw->iconic.by_client);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(2, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_server_uniconify)
+{
+ etWin *tw = NULL;
+ Eina_Bool res = EINA_FALSE;
+ Eina_List *list = NULL, *l = NULL;
+ int pass_count = 0;
+
+ // init TC window, show=false, geom=false
+ initTC(EINA_FALSE, EINA_FALSE);
+
+ // set tw_red bg color change
+ tw_red->startBGColor(0.1);
+
+ // show tw_red
+ res = showTCWin(tw_red);
+ ASSERT_TRUE(res);
+ ASSERT_VIS_ON(tw_red);
+
+ // show tw_green
+ res = showTCWin(tw_green);
+ ASSERT_TRUE(res);
+ ASSERT_VIS_ON(tw_green);
+
+ // event check tw_red is iconified_by_server
+ ASSERT_ICONIFIED_BY_SERVER(tw_red);
+
+ // change tw_green to 32bit colored window
+ elm_win_alpha_set(tw_green->elm_win, EINA_TRUE);
+
+ // event check tw_red is uniconified
+ ASSERT_UNICONIFIED(tw_red);
+
+ // stop tw_red bg color change
+ tw_red->stopBGColor();
+
+ // Expected stack res:
+ // [Top] Green (alpha) -> 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_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(2, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestIconicState, iconify_by_server_uniconify2)
+{
+ etWin *tw = NULL;
+ Eina_List *list = NULL, *l = NULL;
+ int pass_count = 0;
+
+ // init TC window, show=true, geom=false
+ initTC(EINA_TRUE, EINA_FALSE);
+
+ // set tw_green bg color change
+ tw_green->startBGColor(0.1);
+
+ // change all window to 32bit colored window
+ elm_win_alpha_set(tw_blue->elm_win, EINA_TRUE);
+ elm_win_alpha_set(tw_green->elm_win, EINA_TRUE);
+ elm_win_alpha_set(tw_red->elm_win, EINA_TRUE);
+
+ // event check tw_red is iconified_by_server
+ ASSERT_UNICONIFIED(tw_red);
+
+ // stop tw_green bg color change
+ tw_green->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);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else if (pass_count == 1)
+ {
+ ASSERT_EQ(tw->native_win, tw_green->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ continue;
+ }
+ else
+ {
+ ASSERT_EQ(tw->native_win, tw_red->native_win);
+ ASSERT_TRUE(tw->Vis.obj);
+ ASSERT_FALSE(tw->iconic.set);
+ pass_count++;
+ }
+
+ break;
+ }
+ etRunner::get().freeWinInfoList(list);
+
+ ASSERT_EQ(3, pass_count);
+
+ ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
\ No newline at end of file