ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
}
+
+TEST_F(etTestFocus, focus_fullsize_alpha_visible_by_above_lower)
+{
+ etWin *tw = NULL;
+ Eina_List *list = NULL, *l = NULL;
+
+ // init TC window, show=true, geom=false
+ initTC(EINA_TRUE, EINA_FALSE);
+
+ // tw_green alpha set
+ elm_win_alpha_set(tw_green->elm_win, EINA_TRUE);
+
+ // lower tw_blue
+ etRunner::get().setWinLower(tw_blue);
+ ASSERT_VIS_OFF(tw_blue);
+
+ // Expected focus res:
+ // [Top] Green[focused] -> Red -> Blue [Bottom]
+ list = etRunner::get().getWinInfoList();
+ ASSERT_TRUE(list != NULL);
+
+ EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+ {
+ if (tw->native_win == tw_green->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;
+ Eina_List *list = NULL, *l = NULL;
+
+ // init TC window, show=true, geom=false
+ initTC(EINA_TRUE, EINA_FALSE);
+
+ // tw_green alpha set
+ elm_win_alpha_set(tw_green->elm_win, EINA_TRUE);
+
+ // hide tw_blue
+ hideTCWin(tw_blue);
+ ASSERT_VIS_OFF(tw_blue);
+
+ // Expected focus res:
+ // [Top] Green[focused] -> Red [Bottom]
+ list = etRunner::get().getWinInfoList();
+ ASSERT_TRUE(list != NULL);
+
+ EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+ {
+ if (tw->native_win == tw_green->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_del)
+{
+ etWin *tw = NULL;
+ Eina_List *list = NULL, *l = NULL;
+
+ // init TC window, show=true, geom=false
+ initTC(EINA_TRUE, EINA_FALSE);
+
+ // tw_green alpha set
+ elm_win_alpha_set(tw_green->elm_win, EINA_TRUE);
+
+ // delete tw_blue
+ deleteTCWin(tw_blue);
+ ASSERT_VIS_ON(tw_green);
+
+ // Expected focus res:
+ // [Top] Green[focused] -> Red [Bottom]
+ list = etRunner::get().getWinInfoList();
+ ASSERT_TRUE(list != NULL);
+
+ EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
+ {
+ if (tw->native_win == tw_green->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);
+}