1 #include "e_test_event.h"
2 #include "e_test_base.h"
4 class etTestBaseMulti : public ::etTCBase
8 ~etTestBaseMulti() { };
12 etWin *tw_green = NULL;
13 etWin *tw_blue = NULL;
14 std::string testCaseName;
17 void initTC(Eina_Bool show_win, Eina_Bool usr_geom);
21 etTestBaseMulti::initTC(Eina_Bool show_win, Eina_Bool usr_geom)
23 const ::testing::TestInfo *const test_info = ::testing::UnitTest::GetInstance()->current_test_info();
25 tw_red = initNormalWin("TCWin_Normal_red", usr_geom);
26 ASSERT_TRUE(tw_red != NULL) << "failed to initiation window";
30 ASSERT_VIS_ON(tw_red);
33 tw_green = initNormalWin("TCWin_Normal_green", usr_geom);
34 ASSERT_TRUE(tw_green != NULL) << "failed to initiation window";
38 ASSERT_VIS_ON(tw_green);
41 tw_blue = initNormalWin("TCWin_Normal_blue", usr_geom);
42 ASSERT_TRUE(tw_blue != NULL) << "failed to initiation window";
46 ASSERT_VIS_ON(tw_blue);
49 testCaseName = test_info->test_case_name();
50 testName = test_info->name();
53 TEST_F(etTestBaseMulti, multi_all_wins_basic)
56 Eina_List *list = NULL, *l = NULL;
59 // init TC window, show=true, geom=true
60 initTC(EINA_TRUE, EINA_TRUE);
62 // Expected stack res:
63 // [Top] Blue -> Green -> Red [Bottom]
64 list = etRunner::get().getWinInfoList();
65 ASSERT_TRUE(list != NULL);
67 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
74 ASSERT_EQ(tw->native_win, tw_blue->native_win);
78 else if (pass_count == 1)
80 ASSERT_EQ(tw->native_win, tw_green->native_win);
86 ASSERT_EQ(tw->native_win, tw_red->native_win);
92 etRunner::get().freeWinInfoList(list);
94 ASSERT_EQ(3, pass_count);
96 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
99 TEST_F(etTestBaseMulti, multi_all_wins_show1)
102 Eina_Bool res = EINA_FALSE;
103 Eina_List *list = NULL, *l = NULL;
106 // init TC window, show=false, geom=true
107 initTC(EINA_FALSE, EINA_TRUE);
110 res = showTCWin(tw_red);
112 ASSERT_VIS_ON(tw_red);
115 res = showTCWin(tw_blue);
117 ASSERT_VIS_ON(tw_blue);
120 res = showTCWin(tw_green);
122 ASSERT_VIS_ON(tw_green);
124 // Expected stack res:
125 // [Top] Green -> Blue -> Red [Bottom]
126 list = etRunner::get().getWinInfoList();
127 ASSERT_TRUE(list != NULL);
129 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
136 ASSERT_EQ(tw->native_win, tw_green->native_win);
140 else if (pass_count == 1)
142 ASSERT_EQ(tw->native_win, tw_blue->native_win);
148 ASSERT_EQ(tw->native_win, tw_red->native_win);
154 etRunner::get().freeWinInfoList(list);
156 ASSERT_EQ(3, pass_count);
158 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
161 TEST_F(etTestBaseMulti, multi_all_wins_show2)
164 Eina_Bool res = EINA_FALSE;
165 Eina_List *list = NULL, *l = NULL;
168 // init TC window, show=false, geom=true
169 initTC(EINA_FALSE, EINA_TRUE);
172 res = showTCWin(tw_blue);
174 ASSERT_VIS_ON(tw_blue);
177 res = showTCWin(tw_red);
179 ASSERT_VIS_ON(tw_red);
182 res = showTCWin(tw_green);
184 ASSERT_VIS_ON(tw_green);
186 // Expected stack res:
187 // [Top] Green -> Red -> Blue [Bottom]
188 list = etRunner::get().getWinInfoList();
189 ASSERT_TRUE(list != NULL);
191 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
198 ASSERT_EQ(tw->native_win, tw_green->native_win);
202 else if (pass_count == 1)
204 ASSERT_EQ(tw->native_win, tw_red->native_win);
210 ASSERT_EQ(tw->native_win, tw_blue->native_win);
216 etRunner::get().freeWinInfoList(list);
218 ASSERT_EQ(3, pass_count);
220 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
223 TEST_F(etTestBaseMulti, multi_all_wins_show3)
226 Eina_Bool res = EINA_FALSE;
227 Eina_List *list = NULL, *l = NULL;
230 // init TC window, show=false, geom=true
231 initTC(EINA_FALSE, EINA_TRUE);
234 res = showTCWin(tw_green);
236 ASSERT_VIS_ON(tw_green);
239 res = showTCWin(tw_blue);
241 ASSERT_VIS_ON(tw_blue);
244 res = showTCWin(tw_red);
246 ASSERT_VIS_ON(tw_red);
248 // Expected stack res:
249 // [Top] Red -> Blue -> Green [Bottom]
250 list = etRunner::get().getWinInfoList();
251 ASSERT_TRUE(list != NULL);
253 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
260 ASSERT_EQ(tw->native_win, tw_red->native_win);
264 else if (pass_count == 1)
266 ASSERT_EQ(tw->native_win, tw_blue->native_win);
272 ASSERT_EQ(tw->native_win, tw_green->native_win);
278 etRunner::get().freeWinInfoList(list);
280 ASSERT_EQ(3, pass_count);
282 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
285 TEST_F(etTestBaseMulti, multi_all_wins_raise1)
288 Eina_List *list = NULL, *l = NULL;
291 // init TC window, show=true, geom=true
292 initTC(EINA_TRUE, EINA_TRUE);
295 etRunner::get().setWinStack(tw_red, NULL, EINA_TRUE);
296 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_RAISE);
298 // Expected stack res:
299 // [Top] Red -> Blue -> Green [Bottom]
300 list = etRunner::get().getWinInfoList();
301 ASSERT_TRUE(list != NULL);
303 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
310 ASSERT_EQ(tw->native_win, tw_red->native_win);
314 else if (pass_count == 1)
316 ASSERT_EQ(tw->native_win, tw_blue->native_win);
322 ASSERT_EQ(tw->native_win, tw_green->native_win);
328 etRunner::get().freeWinInfoList(list);
330 ASSERT_EQ(3, pass_count);
332 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
335 TEST_F(etTestBaseMulti, multi_all_wins_raise2)
338 Eina_List *list = NULL, *l = NULL;
341 // init TC window, show=true, geom=true
342 initTC(EINA_TRUE, EINA_TRUE);
345 etRunner::get().setWinStack(tw_green, NULL, EINA_TRUE);
346 ASSERT_EVENT(tw_green, E_TC_EVENT_TYPE_STACK_RAISE);
348 // Expected stack res:
349 // [Top] Green-> Blue -> Red [Bottom]
350 list = etRunner::get().getWinInfoList();
351 ASSERT_TRUE(list != NULL);
353 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
360 ASSERT_EQ(tw->native_win, tw_green->native_win);
364 else if (pass_count == 1)
366 ASSERT_EQ(tw->native_win, tw_blue->native_win);
372 ASSERT_EQ(tw->native_win, tw_red->native_win);
378 etRunner::get().freeWinInfoList(list);
380 ASSERT_EQ(3, pass_count);
382 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
385 TEST_F(etTestBaseMulti, multi_all_wins_stack_above1)
388 Eina_List *list = NULL, *l = NULL;
391 // init TC window, show=true, geom=true
392 initTC(EINA_TRUE, EINA_TRUE);
394 // Raise Red on the Green
395 etRunner::get().setWinStack(tw_red, tw_green, EINA_TRUE);
396 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_ABOVE);
398 // Expected stack res:
399 // [Top] Blue -> Red -> Green [Bottom]
400 list = etRunner::get().getWinInfoList();
401 ASSERT_TRUE(list != NULL);
403 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
410 ASSERT_EQ(tw->native_win, tw_blue->native_win);
414 else if (pass_count == 1)
416 ASSERT_EQ(tw->native_win, tw_red->native_win);
422 ASSERT_EQ(tw->native_win, tw_green->native_win);
428 etRunner::get().freeWinInfoList(list);
430 ASSERT_EQ(3, pass_count);
432 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
435 TEST_F(etTestBaseMulti, multi_all_wins_stack_above2)
438 Eina_List *list = NULL, *l = NULL;
441 // init TC window, show=true, geom=true
442 initTC(EINA_TRUE, EINA_TRUE);
444 // Raise Blue on the Red
445 etRunner::get().setWinStack(tw_blue, tw_red, EINA_TRUE);
446 ASSERT_EVENT(tw_blue, E_TC_EVENT_TYPE_STACK_ABOVE);
448 // Expected stack res:
449 // [Top] Green-> Blue -> Red [Bottom]
450 list = etRunner::get().getWinInfoList();
451 ASSERT_TRUE(list != NULL);
453 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
460 ASSERT_EQ(tw->native_win, tw_green->native_win);
464 else if (pass_count == 1)
466 ASSERT_EQ(tw->native_win, tw_blue->native_win);
472 ASSERT_EQ(tw->native_win, tw_red->native_win);
478 etRunner::get().freeWinInfoList(list);
480 ASSERT_EQ(3, pass_count);
482 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
485 TEST_F(etTestBaseMulti, multi_all_wins_stack_above3)
488 Eina_List *list = NULL, *l = NULL;
491 // init TC window, show=true, geom=true
492 initTC(EINA_TRUE, EINA_TRUE);
494 // Raise Red on the Blue
495 etRunner::get().setWinStack(tw_red, tw_blue, EINA_TRUE);
496 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_ABOVE);
498 // Expected stack res:
499 // [Top] Green-> Blue -> Red [Bottom]
500 list = etRunner::get().getWinInfoList();
501 ASSERT_TRUE(list != NULL);
503 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
510 ASSERT_EQ(tw->native_win, tw_red->native_win);
514 else if (pass_count == 1)
516 ASSERT_EQ(tw->native_win, tw_blue->native_win);
522 ASSERT_EQ(tw->native_win, tw_green->native_win);
528 etRunner::get().freeWinInfoList(list);
530 ASSERT_EQ(3, pass_count);
532 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
535 TEST_F(etTestBaseMulti, multi_all_wins_lower1)
537 etWin *tw = NULL, *tw_above = NULL;
538 Eina_List *list = NULL, *l = NULL;
541 // init TC window, show=true, geom=true
542 initTC(EINA_TRUE, EINA_TRUE);
545 etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
546 ASSERT_EVENT(tw_blue, E_TC_EVENT_TYPE_STACK_LOWER);
548 // Expected stack res:
549 // [Top] Green -> Red -> ... -> Blue [Bottom]
550 list = etRunner::get().getWinInfoList();
551 ASSERT_TRUE(list != NULL);
553 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
560 ASSERT_EQ(tw->native_win, tw_green->native_win);
564 else if (pass_count == 1)
566 ASSERT_EQ(tw->native_win, tw_red->native_win);
574 ASSERT_EQ(tw->native_win, tw_blue->native_win);
587 // check the tw_above when there is no window under 200 layer
590 ASSERT_TRUE(tw_above != NULL);
591 ASSERT_EQ(tw_above->native_win, tw_blue->native_win);
594 etRunner::get().freeWinInfoList(list);
596 ASSERT_EQ(3, pass_count);
598 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
601 TEST_F(etTestBaseMulti, multi_all_wins_lower2)
603 etWin *tw = NULL, *tw_above = NULL;
604 Eina_List *list = NULL, *l = NULL;
607 // init TC window, show=true, geom=true
608 initTC(EINA_TRUE, EINA_TRUE);
611 etRunner::get().setWinStack(tw_green, NULL, EINA_FALSE);
612 ASSERT_EVENT(tw_green, E_TC_EVENT_TYPE_STACK_LOWER);
614 // Expected stack res:
615 // [Top] Blue -> Red -> ... -> Green [Bottom]
616 list = etRunner::get().getWinInfoList();
617 ASSERT_TRUE(list != NULL);
619 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
626 ASSERT_EQ(tw->native_win, tw_blue->native_win);
630 else if (pass_count == 1)
632 ASSERT_EQ(tw->native_win, tw_red->native_win);
640 ASSERT_EQ(tw->native_win, tw_green->native_win);
653 // check the tw_above when there is no window under 200 layer
656 ASSERT_TRUE(tw_above != NULL);
657 ASSERT_EQ(tw_above->native_win, tw_green->native_win);
660 etRunner::get().freeWinInfoList(list);
662 ASSERT_EQ(3, pass_count);
664 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
667 TEST_F(etTestBaseMulti, multi_all_full_wins_basic)
670 Eina_List *list = NULL, *l = NULL;
673 // init TC window, show=true, geom=false
674 initTC(EINA_TRUE, EINA_FALSE);
676 // Expected stack res:
677 // [Top] Blue -> Green -> Red [Bottom]
678 list = etRunner::get().getWinInfoList();
679 ASSERT_TRUE(list != NULL);
681 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
688 ASSERT_EQ(tw->native_win, tw_blue->native_win);
692 else if (pass_count == 1)
694 ASSERT_EQ(tw->native_win, tw_green->native_win);
700 ASSERT_EQ(tw->native_win, tw_red->native_win);
706 etRunner::get().freeWinInfoList(list);
708 ASSERT_EQ(3, pass_count);
710 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
713 TEST_F(etTestBaseMulti, multi_all_full_wins_show1)
716 Eina_Bool res = EINA_FALSE;
717 Eina_List *list = NULL, *l = NULL;
720 // init TC window, show=false, geom=false
721 initTC(EINA_FALSE, EINA_FALSE);
724 res = showTCWin(tw_red);
726 ASSERT_VIS_ON(tw_red);
729 res = showTCWin(tw_blue);
731 ASSERT_VIS_ON(tw_blue);
734 res = showTCWin(tw_green);
736 ASSERT_VIS_ON(tw_green);
738 // Expected stack res:
739 // [Top] Green -> Blue -> Red [Bottom]
740 list = etRunner::get().getWinInfoList();
741 ASSERT_TRUE(list != NULL);
743 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
750 ASSERT_EQ(tw->native_win, tw_green->native_win);
754 else if (pass_count == 1)
756 ASSERT_EQ(tw->native_win, tw_blue->native_win);
762 ASSERT_EQ(tw->native_win, tw_red->native_win);
768 etRunner::get().freeWinInfoList(list);
770 ASSERT_EQ(3, pass_count);
772 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
775 TEST_F(etTestBaseMulti, multi_all_full_wins_show2)
778 Eina_Bool res = EINA_FALSE;
779 Eina_List *list = NULL, *l = NULL;
782 // init TC window, show=false, geom=false
783 initTC(EINA_FALSE, EINA_FALSE);
786 res = showTCWin(tw_blue);
788 ASSERT_VIS_ON(tw_blue);
791 res = showTCWin(tw_red);
793 ASSERT_VIS_ON(tw_red);
796 res = showTCWin(tw_green);
798 ASSERT_VIS_ON(tw_green);
800 // Expected stack res:
801 // [Top] Green -> Red -> Blue [Bottom]
802 list = etRunner::get().getWinInfoList();
803 ASSERT_TRUE(list != NULL);
805 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
812 ASSERT_EQ(tw->native_win, tw_green->native_win);
816 else if (pass_count == 1)
818 ASSERT_EQ(tw->native_win, tw_red->native_win);
824 ASSERT_EQ(tw->native_win, tw_blue->native_win);
830 etRunner::get().freeWinInfoList(list);
832 ASSERT_EQ(3, pass_count);
834 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
837 TEST_F(etTestBaseMulti, multi_all_full_wins_show3)
840 Eina_Bool res = EINA_FALSE;
841 Eina_List *list = NULL, *l = NULL;
844 // init TC window, show=false, geom=false
845 initTC(EINA_FALSE, EINA_FALSE);
848 res = showTCWin(tw_green);
850 ASSERT_VIS_ON(tw_green);
853 res = showTCWin(tw_blue);
855 ASSERT_VIS_ON(tw_blue);
858 res = showTCWin(tw_red);
860 ASSERT_VIS_ON(tw_red);
862 // Expected stack res:
863 // [Top] Red -> Blue -> Green [Bottom]
864 list = etRunner::get().getWinInfoList();
865 ASSERT_TRUE(list != NULL);
867 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
874 ASSERT_EQ(tw->native_win, tw_red->native_win);
878 else if (pass_count == 1)
880 ASSERT_EQ(tw->native_win, tw_blue->native_win);
886 ASSERT_EQ(tw->native_win, tw_green->native_win);
892 etRunner::get().freeWinInfoList(list);
894 ASSERT_EQ(3, pass_count);
896 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
899 TEST_F(etTestBaseMulti, multi_all_full_wins_raise1)
902 Eina_List *list = NULL, *l = NULL;
905 // init TC window, show=true, geom=false
906 initTC(EINA_TRUE, EINA_FALSE);
909 etRunner::get().setWinStack(tw_red, NULL, EINA_TRUE);
910 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_RAISE);
912 // Expected stack res:
913 // [Top] Red -> Blue -> Green [Bottom]
914 list = etRunner::get().getWinInfoList();
915 ASSERT_TRUE(list != NULL);
917 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
924 ASSERT_EQ(tw->native_win, tw_red->native_win);
928 else if (pass_count == 1)
930 ASSERT_EQ(tw->native_win, tw_blue->native_win);
936 ASSERT_EQ(tw->native_win, tw_green->native_win);
942 etRunner::get().freeWinInfoList(list);
944 ASSERT_EQ(3, pass_count);
946 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
949 TEST_F(etTestBaseMulti, multi_all_full_wins_raise2)
952 Eina_List *list = NULL, *l = NULL;
955 // init TC window, show=true, geom=false
956 initTC(EINA_TRUE, EINA_FALSE);
959 etRunner::get().setWinStack(tw_green, NULL, EINA_TRUE);
960 ASSERT_EVENT(tw_green, E_TC_EVENT_TYPE_STACK_RAISE);
962 // Expected stack res:
963 // [Top] Green-> Blue -> Red [Bottom]
964 list = etRunner::get().getWinInfoList();
965 ASSERT_TRUE(list != NULL);
967 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
974 ASSERT_EQ(tw->native_win, tw_green->native_win);
978 else if (pass_count == 1)
980 ASSERT_EQ(tw->native_win, tw_blue->native_win);
986 ASSERT_EQ(tw->native_win, tw_red->native_win);
992 etRunner::get().freeWinInfoList(list);
994 ASSERT_EQ(3, pass_count);
996 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
999 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above1)
1002 Eina_List *list = NULL, *l = NULL;
1005 // init TC window, show=true, geom=false
1006 initTC(EINA_TRUE, EINA_FALSE);
1008 // Raise Red on the Green
1009 etRunner::get().setWinStack(tw_red, tw_green, EINA_TRUE);
1010 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_ABOVE);
1012 // Expected stack res:
1013 // [Top] Blue -> Red -> Green [Bottom]
1014 list = etRunner::get().getWinInfoList();
1015 ASSERT_TRUE(list != NULL);
1017 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1019 if (tw->layer > 200)
1022 if (pass_count == 0)
1024 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1028 else if (pass_count == 1)
1030 ASSERT_EQ(tw->native_win, tw_red->native_win);
1036 ASSERT_EQ(tw->native_win, tw_green->native_win);
1042 etRunner::get().freeWinInfoList(list);
1044 ASSERT_EQ(3, pass_count);
1046 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1049 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above2)
1052 Eina_List *list = NULL, *l = NULL;
1055 // init TC window, show=true, geom=false
1056 initTC(EINA_TRUE, EINA_FALSE);
1058 // Raise Blue on the Red
1059 etRunner::get().setWinStack(tw_blue, tw_red, EINA_TRUE);
1060 ASSERT_EVENT(tw_blue, E_TC_EVENT_TYPE_STACK_ABOVE);
1062 // Expected stack res:
1063 // [Top] Green-> Blue -> Red [Bottom]
1064 list = etRunner::get().getWinInfoList();
1065 ASSERT_TRUE(list != NULL);
1067 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1069 if (tw->layer > 200)
1072 if (pass_count == 0)
1074 ASSERT_EQ(tw->native_win, tw_green->native_win);
1078 else if (pass_count == 1)
1080 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1086 ASSERT_EQ(tw->native_win, tw_red->native_win);
1092 etRunner::get().freeWinInfoList(list);
1094 ASSERT_EQ(3, pass_count);
1096 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1099 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above3)
1102 Eina_List *list = NULL, *l = NULL;
1105 // init TC window, show=true, geom=false
1106 initTC(EINA_TRUE, EINA_FALSE);
1108 // Raise Red on the Blue
1109 etRunner::get().setWinStack(tw_red, tw_blue, EINA_TRUE);
1110 ASSERT_EVENT(tw_red, E_TC_EVENT_TYPE_STACK_ABOVE);
1112 // Expected stack res:
1113 // [Top] Green-> Blue -> Red [Bottom]
1114 list = etRunner::get().getWinInfoList();
1115 ASSERT_TRUE(list != NULL);
1117 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1119 if (tw->layer > 200)
1122 if (pass_count == 0)
1124 ASSERT_EQ(tw->native_win, tw_red->native_win);
1128 else if (pass_count == 1)
1130 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1136 ASSERT_EQ(tw->native_win, tw_green->native_win);
1142 etRunner::get().freeWinInfoList(list);
1144 ASSERT_EQ(3, pass_count);
1146 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1149 TEST_F(etTestBaseMulti, multi_all_full_wins_lower1)
1151 etWin *tw = NULL, *tw_above = NULL;
1152 Eina_List *list = NULL, *l = NULL;
1155 // init TC window, show=true, geom=false
1156 initTC(EINA_TRUE, EINA_FALSE);
1159 etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
1160 ASSERT_EVENT(tw_blue, E_TC_EVENT_TYPE_STACK_LOWER);
1162 // Expected stack res:
1163 // [Top] Green -> Red -> ... -> Blue [Bottom]
1164 list = etRunner::get().getWinInfoList();
1165 ASSERT_TRUE(list != NULL);
1167 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1169 if (tw->layer > 200)
1172 if (pass_count == 0)
1174 ASSERT_EQ(tw->native_win, tw_green->native_win);
1178 else if (pass_count == 1)
1180 ASSERT_EQ(tw->native_win, tw_red->native_win);
1186 if (tw->layer < 200)
1188 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1201 // check the tw_above when there is no window under 200 layer
1204 ASSERT_TRUE(tw_above != NULL);
1205 ASSERT_EQ(tw_above->native_win, tw_blue->native_win);
1208 etRunner::get().freeWinInfoList(list);
1210 ASSERT_EQ(3, pass_count);
1212 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1215 TEST_F(etTestBaseMulti, multi_all_full_wins_lower2)
1217 etWin *tw = NULL, *tw_above = NULL;
1218 Eina_List *list = NULL, *l = NULL;
1221 // init TC window, show=true, geom=false
1222 initTC(EINA_TRUE, EINA_FALSE);
1225 etRunner::get().setWinStack(tw_green, NULL, EINA_FALSE);
1226 ASSERT_EVENT(tw_green, E_TC_EVENT_TYPE_STACK_LOWER);
1228 // Expected stack res:
1229 // [Top] Blue -> Red -> ... -> Green [Bottom]
1230 list = etRunner::get().getWinInfoList();
1231 ASSERT_TRUE(list != NULL);
1233 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1235 if (tw->layer > 200)
1238 if (pass_count == 0)
1240 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1244 else if (pass_count == 1)
1246 ASSERT_EQ(tw->native_win, tw_red->native_win);
1252 if (tw->layer < 200)
1254 ASSERT_EQ(tw->native_win, tw_green->native_win);
1267 // check the tw_above when there is no window under 200 layer
1270 ASSERT_TRUE(tw_above != NULL);
1271 ASSERT_EQ(tw_above->native_win, tw_green->native_win);
1274 etRunner::get().freeWinInfoList(list);
1276 ASSERT_EQ(3, pass_count);
1278 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1281 TEST_F(etTestBaseMulti, multi_all_full_wins_lower_activate)
1284 Eina_List *list = NULL, *l = NULL;
1287 // init TC window, show=true, geom=false
1288 initTC(EINA_TRUE, EINA_FALSE);
1291 evas_object_lower(tw_blue->elm_win);
1292 // Activate Blue immediately
1293 etRunner::get().setWinActivate(tw_blue);
1294 etRunner::get().work(0.1); // wait for activate done. It does not change stack.
1296 // Expected stack res:
1297 // [Top] Blue -> Green -> Red [Bottom]
1298 list = etRunner::get().getWinInfoList();
1299 ASSERT_TRUE(list != NULL);
1301 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1303 if (tw->layer > 200)
1306 if (pass_count == 0)
1308 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1312 else if (pass_count == 1)
1314 ASSERT_EQ(tw->native_win, tw_green->native_win);
1320 ASSERT_EQ(tw->native_win, tw_red->native_win);
1326 etRunner::get().freeWinInfoList(list);
1328 ASSERT_EQ(3, pass_count);
1330 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1333 TEST_F(etTestBaseMulti, multi_2wins_show1)
1336 Eina_Bool res = EINA_FALSE;
1337 Eina_List *list = NULL, *l = NULL;
1340 // init TC window, show=false, geom=true
1341 initTC(EINA_FALSE, EINA_TRUE);
1344 res = showTCWin(tw_green);
1346 ASSERT_VIS_ON(tw_green);
1349 res = showTCWin(tw_red);
1351 ASSERT_VIS_ON(tw_red);
1353 // Expected stack res:
1354 // [Top] Red -> Green [Bottom]
1355 list = etRunner::get().getWinInfoList();
1356 ASSERT_TRUE(list != NULL);
1358 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1360 if (tw->layer > 200)
1363 if (pass_count == 0)
1365 ASSERT_EQ(tw->native_win, tw_red->native_win);
1371 ASSERT_EQ(tw->native_win, tw_green->native_win);
1377 etRunner::get().freeWinInfoList(list);
1379 ASSERT_EQ(2, pass_count);
1381 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1384 TEST_F(etTestBaseMulti, multi_2wins_show2)
1387 Eina_Bool res = EINA_FALSE;
1388 Eina_List *list = NULL, *l = NULL;
1391 // init TC window, show=false, geom=true
1392 initTC(EINA_FALSE, EINA_TRUE);
1395 res = showTCWin(tw_blue);
1397 ASSERT_VIS_ON(tw_blue);
1400 res = showTCWin(tw_green);
1402 ASSERT_VIS_ON(tw_green);
1404 // Expected stack res:
1405 // [Top] Green -> Blue [Bottom]
1406 list = etRunner::get().getWinInfoList();
1407 ASSERT_TRUE(list != NULL);
1409 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1411 if (tw->layer > 200)
1414 if (pass_count == 0)
1416 ASSERT_EQ(tw->native_win, tw_green->native_win);
1422 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1428 etRunner::get().freeWinInfoList(list);
1430 ASSERT_EQ(2, pass_count);
1432 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1435 TEST_F(etTestBaseMulti, multi_2wins_show3)
1438 Eina_Bool res = EINA_FALSE;
1439 Eina_List *list = NULL, *l = NULL;
1442 // init TC window, show=false, geom=true
1443 initTC(EINA_FALSE, EINA_TRUE);
1446 res = showTCWin(tw_red);
1448 ASSERT_VIS_ON(tw_red);
1451 res = showTCWin(tw_blue);
1453 ASSERT_VIS_ON(tw_blue);
1455 // Expected stack res:
1456 // [Top] Blue -> Red [Bottom]
1457 list = etRunner::get().getWinInfoList();
1458 ASSERT_TRUE(list != NULL);
1460 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1462 if (tw->layer > 200)
1465 if (pass_count == 0)
1467 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1473 ASSERT_EQ(tw->native_win, tw_red->native_win);
1479 etRunner::get().freeWinInfoList(list);
1481 ASSERT_EQ(2, pass_count);
1483 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1486 TEST_F(etTestBaseMulti, multi_full_2wins_show1)
1489 Eina_Bool res = EINA_FALSE;
1490 Eina_List *list = NULL, *l = NULL;
1493 // init TC window, show=false, geom=false
1494 initTC(EINA_FALSE, EINA_FALSE);
1497 res = showTCWin(tw_green);
1499 ASSERT_VIS_ON(tw_green);
1502 res = showTCWin(tw_red);
1504 ASSERT_VIS_ON(tw_red);
1506 // Expected stack res:
1507 // [Top] Red -> Green [Bottom]
1508 list = etRunner::get().getWinInfoList();
1509 ASSERT_TRUE(list != NULL);
1511 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1513 if (tw->layer > 200)
1516 if (pass_count == 0)
1518 ASSERT_EQ(tw->native_win, tw_red->native_win);
1524 ASSERT_EQ(tw->native_win, tw_green->native_win);
1530 etRunner::get().freeWinInfoList(list);
1532 ASSERT_EQ(2, pass_count);
1534 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1537 TEST_F(etTestBaseMulti, multi_full_2wins_show2)
1540 Eina_Bool res = EINA_FALSE;
1541 Eina_List *list = NULL, *l = NULL;
1544 // init TC window, show=false, geom=false
1545 initTC(EINA_FALSE, EINA_FALSE);
1548 res = showTCWin(tw_blue);
1550 ASSERT_VIS_ON(tw_blue);
1553 res = showTCWin(tw_green);
1555 ASSERT_VIS_ON(tw_green);
1557 // Expected stack res:
1558 // [Top] Green -> Blue [Bottom]
1559 list = etRunner::get().getWinInfoList();
1560 ASSERT_TRUE(list != NULL);
1562 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1564 if (tw->layer > 200)
1567 if (pass_count == 0)
1569 ASSERT_EQ(tw->native_win, tw_green->native_win);
1575 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1581 etRunner::get().freeWinInfoList(list);
1583 ASSERT_EQ(2, pass_count);
1585 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
1588 TEST_F(etTestBaseMulti, multi_full_2wins_show3)
1591 Eina_Bool res = EINA_FALSE;
1592 Eina_List *list = NULL, *l = NULL;
1595 // init TC window, show=false, geom=false
1596 initTC(EINA_FALSE, EINA_FALSE);
1599 res = showTCWin(tw_red);
1601 ASSERT_VIS_ON(tw_red);
1604 res = showTCWin(tw_blue);
1606 ASSERT_VIS_ON(tw_blue);
1608 // Expected stack res:
1609 // [Top] Blue -> Red [Bottom]
1610 list = etRunner::get().getWinInfoList();
1611 ASSERT_TRUE(list != NULL);
1613 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
1615 if (tw->layer > 200)
1618 if (pass_count == 0)
1620 ASSERT_EQ(tw->native_win, tw_blue->native_win);
1626 ASSERT_EQ(tw->native_win, tw_red->native_win);
1632 etRunner::get().freeWinInfoList(list);
1634 ASSERT_EQ(2, pass_count);
1636 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);