e_test_base: Add base test case and make all test case to inherit e_test_base. 02/182702/7
authorJunSeok, Kim <juns.kim@samsung.com>
Wed, 27 Jun 2018 07:43:12 +0000 (16:43 +0900)
committerJunSeok, Kim <juns.kim@samsung.com>
Wed, 27 Jun 2018 11:49:59 +0000 (20:49 +0900)
Change-Id: I2da618d78ef73ab9c9438edaddbac54b2de3a6a9

13 files changed:
src/Makefile.am
src/e_test_base.cpp [new file with mode: 0644]
src/e_test_base.h [new file with mode: 0644]
src/e_test_win.cpp
src/e_test_win.h
src/testcase/0001_easy.cpp
src/testcase/0002_base_operation.cpp
src/testcase/0003_base_operation_multi_wins.cpp
src/testcase/0004_transient_for.cpp
src/testcase/0005_notification.cpp
src/testcase/0006_tzsh.cpp
src/testcase/0007_rotation.cpp
src/testcase/0008_focus.cpp

index e689757..c268992 100644 (file)
@@ -23,6 +23,8 @@ e_test_runner_SOURCES = \
 e_test_main.cpp \
 e_test_event.h \
 e_test_event.cpp \
+e_test_base.h \
+e_test_base.cpp \
 e_test_win.h \
 e_test_win.cpp \
 e_test_util.h \
diff --git a/src/e_test_base.cpp b/src/e_test_base.cpp
new file mode 100644 (file)
index 0000000..05d1c53
--- /dev/null
@@ -0,0 +1,194 @@
+#include "e_test_base.h"
+
+using ::testing::Test;
+
+etTCBase::~etTCBase()
+{
+   etWin *tw = NULL;
+   numGeomTw = 0;
+   numTw = 0;
+
+   // if there are any error, print list of window
+   if (HasFailure())
+     {
+        etRunner::get().printWinInfoList();
+        etRunner::get().waitForDestroy();
+     }
+
+   // remove register win
+   if (tw_register)
+     {
+        etRunner::get().deregisterWin(tw_register);
+        tw_register = NULL;
+     }
+
+   // remove all testcase win
+   if (tw_list)
+     {
+        EINA_LIST_CAST_FREE(tw_list, tw, etWin*)
+          {
+             if (tw)
+               {
+                  tw->hide();
+                  delete tw;
+                  tw = NULL;
+               }
+          }
+     }
+
+   // remove win info list
+   if (etRunner::get().hasLastWinInfoList())
+     etRunner::get().freeLastWinInfoList();
+}
+
+etWin *
+etTCBase::initNormalWin(const char *name, Eina_Bool show_win, Eina_Bool usr_geom)
+{
+   Eina_Bool res = EINA_FALSE;
+   etWin *tw = new etWin();
+
+   res = tw->init(NULL,
+                  ELM_WIN_BASIC,
+                  EINA_FALSE,
+                  name? name : "TCWin_Normal",
+                  (100*numGeomTw), (100*numGeomTw), 400, 400, usr_geom,
+                  (E_TC_Win_Color) ((numTw % E_TC_WIN_COLOR_CYAN) + 2));
+   EINA_SAFETY_ON_FALSE_GOTO(res, err);
+   tw->native_win = etRunner::get().getWinId(tw->elm_win);
+
+   if (show_win)
+     {
+        res = showTCWin(tw);
+        EINA_SAFETY_ON_FALSE_GOTO(res, err);
+     }
+
+   numTw++;
+   if (usr_geom) numGeomTw++;
+
+   tw_list = eina_list_append(tw_list, tw);
+
+   return tw;
+
+err:
+   delete tw;
+   return NULL;
+}
+
+etWin *
+etTCBase::initNotiWin(const char *name, Eina_Bool show_win, Eina_Bool usr_geom, Eina_Bool set_noti_level_normal)
+{
+   Eina_Bool res = EINA_FALSE;
+   etWin *tw = new etWin();
+
+   res = tw->init(NULL,
+                  ELM_WIN_NOTIFICATION,
+                  EINA_FALSE,
+                  name? name : "TCWin_Noti",
+                  (100*numGeomTw), (100*numGeomTw), 400, 400, usr_geom,
+                  (E_TC_Win_Color) ((numTw % E_TC_WIN_COLOR_CYAN) + 2));
+   EINA_SAFETY_ON_FALSE_GOTO(res, err);
+   tw->native_win = etRunner::get().getWinId(tw->elm_win);
+
+   if (set_noti_level_normal)
+     etRunner::get().setWinNotiLevel(tw, EFL_UTIL_NOTIFICATION_LEVEL_MEDIUM);
+
+   if (show_win)
+     {
+        res = showTCWin(tw);
+        EINA_SAFETY_ON_FALSE_GOTO(res, err);
+     }
+
+   numTw++;
+   if (usr_geom) numGeomTw++;
+
+   tw_list = eina_list_append(tw_list, tw);
+
+   return tw;
+
+err:
+   delete tw;
+   return NULL;
+}
+
+Eina_Bool
+etTCBase::registerTCWin(etWin *tw)
+{
+   Eina_Bool res = EINA_FALSE;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(tw == tw_register, EINA_TRUE);
+
+   if (tw_register)
+     {
+        res = etRunner::get().deregisterWin(tw_register);
+        EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+
+        tw_register = NULL;
+     }
+
+   res = etRunner::get().registerWin(tw);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+
+   tw_register = tw;
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+etTCBase::deregisterTCWin(etWin *tw)
+{
+   Eina_Bool res = EINA_FALSE;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_register, EINA_TRUE);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(tw != tw_register, EINA_FALSE);
+
+   res = etRunner::get().deregisterWin(tw);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+
+   tw_register = NULL;
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+etTCBase::showTCWin(etWin *tw)
+{
+   Eina_Bool res = EINA_FALSE;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw->elm_win, EINA_FALSE);
+
+   res = registerTCWin(tw);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+
+   tw->updateGeometry();
+   tw->show();
+
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+etTCBase::removeTCWin(etWin *tw)
+{
+   Eina_Bool res = EINA_FALSE;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(tw->elm_win, EINA_FALSE);
+
+   res = registerTCWin(tw);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+
+   tw->hide();
+
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_OFF);
+
+   res = deregisterTCWin(tw);
+   tw_list = eina_list_remove(tw_list, tw);
+   delete tw;
+
+   return EINA_TRUE;
+}
+
diff --git a/src/e_test_base.h b/src/e_test_base.h
new file mode 100644 (file)
index 0000000..5572f4f
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef __ET_TESTCASE_BASE__
+#define __ET_TESTCASE_BASE__
+
+#include "e_test_event.h"
+
+using ::testing::Test;
+
+class etTCBase : public ::testing::Test
+{
+ public:
+   etTCBase() { };
+   ~etTCBase();
+
+ public:
+   etWin     *initNormalWin(const char *name, Eina_Bool show_win, Eina_Bool usr_geom);
+   etWin     *initNotiWin(const char *name, Eina_Bool show_win, Eina_Bool usr_geom, Eina_Bool set_noti_level_normal);
+
+   Eina_Bool  registerTCWin(etWin *tw);
+   Eina_Bool  deregisterTCWin(etWin *tw);
+   Eina_Bool  showTCWin(etWin *tw);
+   Eina_Bool  removeTCWin(etWin *tw);
+
+ private:
+   etWin     *tw_register = NULL;
+   Eina_List *tw_list = NULL;
+
+   int        numTw = 0;     // number of wins
+   int        numGeomTw = 0; // number of wins using usr_geom
+};
+
+#endif // end of __ET_TESTCASE_BASE__
index 591ddb0..57810da 100644 (file)
@@ -25,7 +25,6 @@ etWin::init(etWin *parent,
             int x, int y,
             int w, int h,
             Eina_Bool usr_geom,
-            E_Layer layer,
             E_TC_Win_Color color)
 {
    Evas_Object *bg = NULL;
index a80207d..a2b7566 100644 (file)
@@ -44,7 +44,6 @@ public:
                   const char *name,
                   int x, int y, int w, int h,
                   Eina_Bool usr_geom,
-                  E_Layer layer,
                   E_TC_Win_Color color);
    void deInit();
    void updateGeometry()
index 4733e99..f174a48 100644 (file)
@@ -1,18 +1,13 @@
-#include <gtest/gtest.h>
 #include "e_test_event.h"
+#include "e_test_base.h"
 
 #define _WIN_ID 0x123456
 
-using ::testing::Test;
-
-class etTestEasy : public ::testing::Test
+class etTestEasy : public ::etTCBase
 {
 public:
    etTestEasy() { };
-   ~etTestEasy()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-   };
+   ~etTestEasy() { };
 };
 
 static void
index 2f17c63..89690d9 100644 (file)
@@ -1,67 +1,33 @@
-#include <gtest/gtest.h>
 #include "e_test_event.h"
+#include "e_test_base.h"
 
-using ::testing::Test;
-
-class etTestBaseOperation : public ::testing::Test
-{
-public:
-   etTestBaseOperation() { };
-   ~etTestBaseOperation()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-
-      if (tw)
-        {
-           etRunner::get().deregisterWin(tw);
-           tw->deInit();
-           delete tw;
-           tw = NULL;
-        }
-
-      if (etRunner::get().hasLastWinInfoList())
-        etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin *tw = NULL;
-
-   Eina_Bool initTC(Eina_Bool alpha);
-};
-
-Eina_Bool
-etTestBaseOperation::initTC(Eina_Bool alpha)
+class etTestBaseOperation : public ::etTCBase
 {
-   Eina_Bool res = EINA_FALSE;
+ public:
+    etTestBaseOperation() { };
+    ~etTestBaseOperation() { };
 
-   tw = new etWin();
-   tw->init(NULL,
-            ELM_WIN_BASIC,
-            alpha,
-            "E_Testcase_Window",
-            0, 0, 320, 320, EINA_FALSE,
-            E_LAYER_CLIENT_NORMAL,
-            E_TC_WIN_COLOR_GREEN);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-   tw->native_win = etRunner::get().getWinId(tw->elm_win);
+ protected:
+    etWin *tw = NULL;
 
-   res = etRunner::get().registerWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+    void initTC(Eina_Bool alpha_set);
+};
 
-   tw->updateGeometry();
-   tw->show();
+void
+etTestBaseOperation::initTC(Eina_Bool alpha_set)
+{
+   tw = initNormalWin("TCWin_Normal", EINA_FALSE, EINA_TRUE);
+   ASSERT_TRUE(tw != NULL) << "failed to initiation window";
 
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
+   if (alpha_set)
+     elm_win_alpha_set(tw->elm_win, alpha_set);
 
-   return EINA_TRUE;
+   ASSERT_TRUE(showTCWin(tw)) << "failed to show window";
 }
 
 TEST_F(etTestBaseOperation, win_show)
 {
-   Eina_Bool res = EINA_FALSE;
-
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   initTC(EINA_FALSE);
 }
 
 TEST_F(etTestBaseOperation, win_stack)
@@ -70,8 +36,7 @@ TEST_F(etTestBaseOperation, win_stack)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   initTC(EINA_FALSE);
 
    list = etRunner::get().getWinInfoList();
    ASSERT_TRUE(list != NULL);
@@ -93,10 +58,7 @@ TEST_F(etTestBaseOperation, win_stack)
 
 TEST_F(etTestBaseOperation, alpha_win_show)
 {
-   Eina_Bool res = EINA_FALSE;
-
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   initTC(EINA_TRUE);
 }
 
 TEST_F(etTestBaseOperation, alpha_win_stack)
@@ -105,8 +67,7 @@ TEST_F(etTestBaseOperation, alpha_win_stack)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   initTC(EINA_TRUE);
 
    list = etRunner::get().getWinInfoList();
    ASSERT_TRUE(list != NULL);
@@ -123,5 +84,5 @@ TEST_F(etTestBaseOperation, alpha_win_stack)
      }
    etRunner::get().freeWinInfoList(list);
 
-   ASSERT_TRUE(EINA_TRUE);
+   ASSERT_TRUE(res);
 }
index 7ec8aa3..d313416 100644 (file)
-#include <gtest/gtest.h>
 #include "e_test_event.h"
+#include "e_test_base.h"
 
-using ::testing::Test;
-
-class etTestBaseMulti : public ::testing::Test
-{
-public:
-   etTestBaseMulti() { };
-   ~etTestBaseMulti()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tw_register) etRunner::get().deregisterWin(tw_register);
-      if (tw_red) delete tw_red;
-      if (tw_blue) delete tw_blue;
-      if (tw_green) delete tw_green;
-      if (etRunner::get().hasLastWinInfoList()) etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin *tw_red = NULL;
-   etWin *tw_green = NULL;
-   etWin *tw_blue = NULL;
-   etWin *tw_register = NULL;
-
-   Eina_Bool registerTCWin(etWin *tw);
-   Eina_Bool initTC(Eina_Bool show_win, Eina_Bool use_geom);
-   Eina_Bool showTCWin(etWin *tw);
-};
-
-Eina_Bool
-etTestBaseMulti::registerTCWin(etWin *tw)
-{
-   Eina_Bool res = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(tw == tw_register, EINA_TRUE);
-
-   if (tw_register)
-     {
-        etRunner::get().deregisterWin(tw_register);
-        tw_register = NULL;
-     }
-
-   res = etRunner::get().registerWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_register = tw;
-
-   return EINA_TRUE;
-}
-
-Eina_Bool
-etTestBaseMulti::initTC(Eina_Bool show_win,
-                        Eina_Bool use_geom)
+class etTestBaseMulti : public ::etTCBase
 {
-   tw_red = new etWin();
-   tw_red->init(NULL,
-                ELM_WIN_BASIC,
-                EINA_FALSE,
-                "etWin Red",
-                0, 0, 400, 400, use_geom,
-                E_LAYER_CLIENT_NORMAL,
-                E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_red, EINA_FALSE);
-   tw_red->native_win = etRunner::get().getWinId(tw_red->elm_win);
-
-   if (show_win)
-     {
-        tw_red->updateGeometry();
-        tw_red->show();
-     }
-
-   tw_green = new etWin();
-   tw_green->init(NULL,
-                  ELM_WIN_BASIC,
-                  EINA_FALSE,
-                  "etWin Green",
-                  50, 50, 400, 400, use_geom,
-                  E_LAYER_CLIENT_NORMAL,
-                  E_TC_WIN_COLOR_GREEN);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_green, EINA_FALSE);
+ public:
+    etTestBaseMulti() { };
+    ~etTestBaseMulti() { };
 
-   tw_green->native_win = etRunner::get().getWinId(tw_green->elm_win);
+ protected:
+    etWin *tw_red = NULL;
+    etWin *tw_green = NULL;
+    etWin *tw_blue = NULL;
 
-   if (show_win)
-     {
-        tw_green->updateGeometry();
-        tw_green->show();
-     }
-
-   tw_blue = new etWin();
-   tw_blue->init(NULL,
-                 ELM_WIN_BASIC,
-                 EINA_FALSE,
-                 "etWin Blue",
-                 100, 100, 400, 400, use_geom,
-                 E_LAYER_CLIENT_NORMAL,
-                 E_TC_WIN_COLOR_BLUE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_blue, EINA_FALSE);
-
-   tw_blue->native_win = etRunner::get().getWinId(tw_blue->elm_win);
-
-   if (show_win)
-     {
-        registerTCWin(tw_blue);
-
-        tw_blue->updateGeometry();
-        tw_blue->show();
-
-        etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
-     }
-
-   return EINA_TRUE;
-}
+    void initTC(Eina_Bool show_win, Eina_Bool usr_geom);
+};
 
-Eina_Bool
-etTestBaseMulti::showTCWin(etWin *tw)
+void
+etTestBaseMulti::initTC(Eina_Bool show_win, Eina_Bool usr_geom)
 {
-   Eina_Bool res = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-
-   res = registerTCWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+   tw_red = initNormalWin("TCWin_Normal_red", show_win, usr_geom);
+   ASSERT_TRUE(tw_red != NULL) << "failed to initiation window";
 
-   tw->updateGeometry();
-   tw->show();
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
+   tw_green = initNormalWin("TCWin_Normal_green", show_win, usr_geom);
+   ASSERT_TRUE(tw_green != NULL) << "failed to initiation window";
 
-   return EINA_TRUE;
+   tw_blue = initNormalWin("TCWin_Normal_blue", show_win, usr_geom);
+   ASSERT_TRUE(tw_blue != NULL) << "failed to initiation window";
 }
 
 TEST_F(etTestBaseMulti, multi_all_wins_basic)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Expected stack res:
    // [Top] Blue -> Green -> Red [Bottom]
@@ -183,8 +79,8 @@ TEST_F(etTestBaseMulti, multi_all_wins_show1)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show red
    res = showTCWin(tw_red);
@@ -240,8 +136,8 @@ TEST_F(etTestBaseMulti, multi_all_wins_show2)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show blue
    res = showTCWin(tw_blue);
@@ -297,8 +193,8 @@ TEST_F(etTestBaseMulti, multi_all_wins_show3)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show green
    res = showTCWin(tw_green);
@@ -350,12 +246,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_show3)
 TEST_F(etTestBaseMulti, multi_all_wins_raise1)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Raise Red
    etRunner::get().setWinStack(tw_red, NULL, EINA_TRUE);
@@ -399,12 +294,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_raise1)
 TEST_F(etTestBaseMulti, multi_all_wins_raise2)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Raise Green
    etRunner::get().setWinStack(tw_green, NULL, EINA_TRUE);
@@ -448,12 +342,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_raise2)
 TEST_F(etTestBaseMulti, multi_all_wins_stack_above1)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Raise Red on the Green
    etRunner::get().setWinStack(tw_red, tw_green, EINA_TRUE);
@@ -497,12 +390,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_stack_above1)
 TEST_F(etTestBaseMulti, multi_all_wins_stack_above2)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Raise Blue on the Red
    etRunner::get().setWinStack(tw_blue, tw_red, EINA_TRUE);
@@ -546,12 +438,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_stack_above2)
 TEST_F(etTestBaseMulti, multi_all_wins_stack_above3)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Raise Red on the Blue
    etRunner::get().setWinStack(tw_red, tw_blue, EINA_TRUE);
@@ -595,12 +486,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_stack_above3)
 TEST_F(etTestBaseMulti, multi_all_wins_lower1)
 {
    etWin *tw = NULL, *tw_above = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Lower Blue
    etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
@@ -660,12 +550,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_lower1)
 TEST_F(etTestBaseMulti, multi_all_wins_lower2)
 {
    etWin *tw = NULL, *tw_above = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Lower Green
    etRunner::get().setWinStack(tw_green, NULL, EINA_FALSE);
@@ -725,12 +614,11 @@ TEST_F(etTestBaseMulti, multi_all_wins_lower2)
 TEST_F(etTestBaseMulti, multi_all_full_wins_basic)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Expected stack res:
    // [Top] Blue -> Green -> Red [Bottom]
@@ -774,8 +662,8 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_show1)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show red
    res = showTCWin(tw_red);
@@ -831,8 +719,8 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_show2)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show blue
    res = showTCWin(tw_blue);
@@ -888,8 +776,8 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_show3)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show green
    res = showTCWin(tw_green);
@@ -941,12 +829,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_show3)
 TEST_F(etTestBaseMulti, multi_all_full_wins_raise1)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Raise Red
    etRunner::get().setWinStack(tw_red, NULL, EINA_TRUE);
@@ -990,12 +877,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_raise1)
 TEST_F(etTestBaseMulti, multi_all_full_wins_raise2)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Raise Green
    etRunner::get().setWinStack(tw_green, NULL, EINA_TRUE);
@@ -1039,12 +925,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_raise2)
 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above1)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Raise Red on the Green
    etRunner::get().setWinStack(tw_red, tw_green, EINA_TRUE);
@@ -1088,12 +973,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above1)
 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above2)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Raise Blue on the Red
    etRunner::get().setWinStack(tw_blue, tw_red, EINA_TRUE);
@@ -1137,12 +1021,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above2)
 TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above3)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Raise Red on the Blue
    etRunner::get().setWinStack(tw_red, tw_blue, EINA_TRUE);
@@ -1186,12 +1069,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_stack_above3)
 TEST_F(etTestBaseMulti, multi_all_full_wins_lower1)
 {
    etWin *tw = NULL, *tw_above = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Lower Blue
    etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
@@ -1251,12 +1133,11 @@ TEST_F(etTestBaseMulti, multi_all_full_wins_lower1)
 TEST_F(etTestBaseMulti, multi_all_full_wins_lower2)
 {
    etWin *tw = NULL, *tw_above = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Lower Green
    etRunner::get().setWinStack(tw_green, NULL, EINA_FALSE);
@@ -1320,8 +1201,8 @@ TEST_F(etTestBaseMulti, multi_2wins_show1)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show green
    res = showTCWin(tw_green);
@@ -1367,8 +1248,8 @@ TEST_F(etTestBaseMulti, multi_2wins_show2)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show blue
    res = showTCWin(tw_blue);
@@ -1414,8 +1295,8 @@ TEST_F(etTestBaseMulti, multi_2wins_show3)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=true
+   initTC(EINA_FALSE, EINA_TRUE);
 
    // show red
    res = showTCWin(tw_red);
@@ -1461,8 +1342,8 @@ TEST_F(etTestBaseMulti, multi_full_2wins_show1)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show green
    res = showTCWin(tw_green);
@@ -1508,8 +1389,8 @@ TEST_F(etTestBaseMulti, multi_full_2wins_show2)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show blue
    res = showTCWin(tw_blue);
@@ -1555,8 +1436,8 @@ TEST_F(etTestBaseMulti, multi_full_2wins_show3)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=false, geom=false
+   initTC(EINA_FALSE, EINA_FALSE);
 
    // show red
    res = showTCWin(tw_red);
index 4c686e3..a4e9b47 100644 (file)
 #include "e_test_event.h"
+#include "e_test_base.h"
 
-using ::testing::Test;
-
-class etTestTransientFor : public ::testing::Test
-{
-public:
-   etTestTransientFor() { };
-   ~etTestTransientFor()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tw_register) etRunner::get().deregisterWin(tw_register);
-      if (tw_base) delete tw_base;
-      if (tw_parent) delete tw_parent;
-      if (tw_child) delete tw_child;
-      if (etRunner::get().hasLastWinInfoList()) etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin *tw_base = NULL;
-   etWin *tw_parent = NULL;
-   etWin *tw_child = NULL;
-   etWin *tw_register = NULL;
-
-   Eina_Bool registerTCWin(etWin *tw);
-   Eina_Bool initTC();
-   Eina_Bool showTCWin(etWin *tw);
-};
-
-Eina_Bool
-etTestTransientFor::registerTCWin(etWin *tw)
-{
-   Eina_Bool res = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-
-   if (tw_register)
-     {
-        etRunner::get().deregisterWin(tw_register);
-        tw_register = NULL;
-     }
-
-   res = etRunner::get().registerWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_register = tw;
-
-   return EINA_TRUE;
-}
-
-Eina_Bool
-etTestTransientFor::initTC()
+class etTestTransientFor : public ::etTCBase
 {
-   Eina_Bool res = EINA_FALSE;
+ public:
+    etTestTransientFor() { };
+    ~etTestTransientFor() { };
 
-   tw_parent = new etWin();
-   tw_parent->init(NULL,
-                   ELM_WIN_BASIC,
-                   EINA_FALSE,
-                   "etWin Parent",
-                   0, 0, 400, 400, EINA_FALSE,
-                   E_LAYER_CLIENT_NORMAL,
-                   E_TC_WIN_COLOR_BLUE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_parent, EINA_FALSE);
-
-   tw_parent->native_win = etRunner::get().getWinId(tw_parent->elm_win);
-
-   res = showTCWin(tw_parent);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_child = new etWin();
-   tw_child->init(NULL,
-                  ELM_WIN_BASIC,
-                  EINA_FALSE,
-                  "etWin Child",
-                  0, 0, 320, 320, EINA_FALSE,
-                  E_LAYER_CLIENT_NORMAL,
-                  E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_child, EINA_FALSE);
-   tw_child->native_win = etRunner::get().getWinId(tw_child->elm_win);
-
-   res = showTCWin(tw_child);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_base = new etWin();
-   tw_base->init(NULL,ELM_WIN_BASIC,
-                 EINA_FALSE,
-                 "etWin Base",
-                 200, 200, 500, 500, EINA_FALSE,
-                 E_LAYER_CLIENT_NORMAL,
-                 E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_base, EINA_FALSE);
-   tw_base->native_win = etRunner::get().getWinId(tw_base->elm_win);
-
-   res = showTCWin(tw_base);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+ protected:
+    etWin *tw_parent = NULL;
+    etWin *tw_child = NULL;
+    etWin *tw_base = NULL;
 
-   // set transient_for
-   res = etRunner::get().setWinTransientFor(tw_child,
-                                            tw_parent,
-                                            EINA_TRUE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   return EINA_TRUE;
-}
+    void initTC(Eina_Bool show_win, Eina_Bool usr_geom);
+};
 
-Eina_Bool
-etTestTransientFor::showTCWin(etWin *tw)
+void
+etTestTransientFor::initTC(Eina_Bool show_win, Eina_Bool usr_geom)
 {
-   Eina_Bool res = EINA_FALSE;
-
-   res = registerTCWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+   tw_parent = initNormalWin("TCWin_Normal_parent", show_win, usr_geom);
+   ASSERT_TRUE(tw_parent != NULL) << "failed to initiation window";
 
-   tw->updateGeometry();
-   tw->show();
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
+   tw_child = initNormalWin("TCWin_Normal_child", show_win, usr_geom);
+   ASSERT_TRUE(tw_child != NULL) << "failed to initiation window";
 
-   return EINA_TRUE;
+   tw_base = initNormalWin("TCWin_Normal_normal", show_win, usr_geom);
+   ASSERT_TRUE(tw_base != NULL) << "failed to initiation window";
 }
 
 TEST_F(etTestTransientFor, transient_for_basic)
@@ -126,7 +35,11 @@ TEST_F(etTestTransientFor, transient_for_basic)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC();
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set transient_for
+   res = etRunner::get().setWinTransientFor(tw_child, tw_parent, EINA_TRUE);
    ASSERT_TRUE(res);
 
    // Expected stack res:
@@ -170,7 +83,11 @@ TEST_F(etTestTransientFor, transient_for_raise)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC();
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set transient_for
+   res = etRunner::get().setWinTransientFor(tw_child, tw_parent, EINA_TRUE);
    ASSERT_TRUE(res);
 
    res = registerTCWin(tw_parent);
@@ -223,7 +140,11 @@ TEST_F(etTestTransientFor, transient_for_lower)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC();
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set transient_for
+   res = etRunner::get().setWinTransientFor(tw_child, tw_parent, EINA_TRUE);
    ASSERT_TRUE(res);
 
    res = registerTCWin(tw_parent);
@@ -292,12 +213,16 @@ TEST_F(etTestTransientFor, transient_for_above)
    Eina_List *list = NULL, *l = NULL;
    int pass_count = 0;
 
-   res = initTC();
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    res = registerTCWin(tw_parent);
    EXPECT_TRUE(res);
 
+   // set transient_for
+   res = etRunner::get().setWinTransientFor(tw_child, tw_parent, EINA_TRUE);
+   ASSERT_TRUE(res);
+
    // tw_parent raise for prepare lower
    res = etRunner::get().setWinStack(tw_parent, tw_base, EINA_TRUE);
    etRunner::get().waitEvent(E_TC_EVENT_TYPE_STACK_ABOVE);
index c4f6207..28b5ab1 100644 (file)
 #include "e_test_event.h"
+#include "e_test_base.h"
 #include <efl_util.h>
 
-using ::testing::Test;
-
-class etTestNotification : public ::testing::Test
-{
-public:
-   etTestNotification() { };
-   ~etTestNotification()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tw_register) etRunner::get().deregisterWin(tw_register);
-      if (tw_normal) delete tw_normal;
-      if (tw_noti1) delete tw_noti1;
-      if (tw_noti2) delete tw_noti2;
-      if (etRunner::get().hasLastWinInfoList()) etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin *tw_normal = NULL;
-   etWin *tw_noti1 = NULL;
-   etWin *tw_noti2 = NULL;
-   etWin *tw_register = NULL;
-
-   Eina_Bool initTC(Eina_Bool use_geom);
-   Eina_Bool registerTCWin(etWin *tw);
-};
-
-Eina_Bool
-etTestNotification::initTC(Eina_Bool use_geom)
+class etTestNotification : public ::etTCBase
 {
-   Eina_Bool res = EINA_FALSE;
-   tw_normal = new etWin();
-   tw_normal->init(NULL,
-                   ELM_WIN_BASIC,
-                   EINA_FALSE,
-                   "etWin Normal",
-                   0, 0, 400, 400, use_geom,
-                   E_LAYER_CLIENT_NORMAL,
-                   E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_normal, EINA_FALSE);
-   tw_normal->native_win = etRunner::get().getWinId(tw_normal->elm_win);
-
-   tw_normal->updateGeometry();
-   tw_normal->show();
-
-   tw_noti1 = new etWin();
-   tw_noti1->init(NULL,
-                  ELM_WIN_NOTIFICATION,
-                  EINA_FALSE,
-                  "etWin Noti_1",
-                  100, 100, 400, 400, use_geom,
-                  E_LAYER_CLIENT_NORMAL,
-                  E_TC_WIN_COLOR_GREEN);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_noti1, EINA_FALSE);
-   tw_noti1->native_win = etRunner::get().getWinId(tw_noti1->elm_win);
-
-   tw_noti1->updateGeometry();
-   tw_noti1->show();
-
-   tw_noti2 = new etWin();
-   tw_noti2->init(NULL,
-                  ELM_WIN_NOTIFICATION,
-                  EINA_FALSE,
-                  "etWin Noti_2",
-                  50, 200, 400, 400, use_geom,
-                  E_LAYER_CLIENT_NORMAL,
-                  E_TC_WIN_COLOR_BLUE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw_noti2, EINA_FALSE);
-   tw_noti2->native_win = etRunner::get().getWinId(tw_noti2->elm_win);
-
-   tw_noti2->updateGeometry();
-   tw_noti2->show();
-
-   // register window
-   res = registerTCWin(tw_normal);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
-
-   return EINA_TRUE;
-}
+ public:
+    etTestNotification() { };
+    ~etTestNotification() { };
 
-Eina_Bool
-etTestNotification::registerTCWin(etWin *tw)
-{
-   Eina_Bool res = EINA_FALSE;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
+ protected:
+    etWin *tw_normal = NULL;
+    etWin *tw_noti1 = NULL;
+    etWin *tw_noti2 = NULL;
 
-   if (tw_register)
-     {
-        etRunner::get().deregisterWin(tw_register);
-        tw_register = NULL;
-     }
+    void initTC(Eina_Bool usr_geom);
+};
 
-   res = etRunner::get().registerWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+void
+etTestNotification::initTC(Eina_Bool usr_geom)
+{
+   tw_normal = initNormalWin("TCWin_Normal_normal", EINA_TRUE, usr_geom);
+   ASSERT_TRUE(tw_normal != NULL) << "failed to initiation window";
 
-   tw_register = tw;
+   tw_noti1 = initNotiWin("TCWin_Noti_1", EINA_TRUE, usr_geom, EINA_FALSE);
+   ASSERT_TRUE(tw_noti1 != NULL) << "failed to initiation window";
 
-   return EINA_TRUE;
+   tw_noti2 = initNotiWin("TCWin_Noti_2", EINA_TRUE, usr_geom, EINA_FALSE);
+   ASSERT_TRUE(tw_noti2 != NULL) << "failed to initiation window";
 }
 
 TEST_F(etTestNotification, notification_level_default)
@@ -110,8 +37,8 @@ TEST_F(etTestNotification, notification_level_default)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -173,8 +100,8 @@ TEST_F(etTestNotification, notification_level_medium)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -236,8 +163,8 @@ TEST_F(etTestNotification, notification_level_high)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -299,8 +226,8 @@ TEST_F(etTestNotification, notification_level_top)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -362,8 +289,8 @@ TEST_F(etTestNotification, notification_level_none)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification high
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -480,8 +407,8 @@ TEST_F(etTestNotification, notification_level_change)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=true
+   initTC(EINA_TRUE);
 
    // set tw_noti1 to notification default
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -646,8 +573,8 @@ TEST_F(etTestNotification, notification_fullsize_level_default)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -709,8 +636,8 @@ TEST_F(etTestNotification, notification_fullsize_level_medium)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -772,8 +699,8 @@ TEST_F(etTestNotification, notification_fullsize_level_high)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -835,8 +762,8 @@ TEST_F(etTestNotification, notification_fullsize_level_top)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification layer
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -898,8 +825,8 @@ TEST_F(etTestNotification, notification_fullsize_level_none)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification high
    res = etRunner::get().setWinNotiLevel(tw_noti1,
@@ -1016,8 +943,8 @@ TEST_F(etTestNotification, notification_fullsize_level_change)
    efl_util_notification_level_e level = EFL_UTIL_NOTIFICATION_LEVEL_NONE;
    int pass_count = 0;
 
-   res = initTC(EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, geom=false
+   initTC(EINA_FALSE);
 
    // set tw_noti1 to notification default
    res = etRunner::get().setWinNotiLevel(tw_noti1,
index ed06d44..4a76565 100644 (file)
@@ -1,75 +1,50 @@
 #include "e_test_event.h"
+#include "e_test_base.h"
 
 #include <tzsh_screensaver_manager_service.h>
 #include <tzsh_screensaver_service.h>
 
 #define E_TEST_WORK_TIME 3.0
 
-using ::testing::Test;
-
-class etTestTzsh : public :: testing::Test
+class etTestTzsh : public ::etTCBase
 {
-public:
-   Eina_Bool  chk_timeout_val_ = EINA_FALSE;
-   Eina_Bool  chk_ev_state_idle_timeout_ = EINA_FALSE;
-   Eina_Bool  chk_ev_state_not_idle_ = EINA_FALSE;
-   int        chk_cb_called_ = 0;
-
-   tzsh_h tzsh = NULL;
-   tzsh_window tz_win = 0x0;
-   tzsh_screensaver_service_h tz_scrsaver = NULL;
-   tzsh_screensaver_manager_service_h tz_scrsaver_mng = NULL;
-
-   etTestTzsh()
-   {
-      chk_timeout_val_ = EINA_FALSE;
-      chk_ev_state_idle_timeout_ = EINA_FALSE;
-      chk_ev_state_not_idle_ = EINA_FALSE;
-      chk_cb_called_ = 0;
-   };
-
-   ~etTestTzsh()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tz_scrsaver_mng) tzsh_screensaver_manager_service_destroy(tz_scrsaver_mng);
-      if (tz_scrsaver) tzsh_screensaver_service_destroy(tz_scrsaver);
-      if (tzsh) tzsh_destroy(tzsh);
-      if (tw_base)
-        {
-           etRunner::get().deregisterWin(tw_base);
-           delete tw_base;
-        }
-
-      if (etRunner::get().hasLastWinInfoList()) etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin     *tw_base = NULL;
-
-   Eina_Bool initTC();
+ public:
+    Eina_Bool  chk_timeout_val_ = EINA_FALSE;
+    Eina_Bool  chk_ev_state_idle_timeout_ = EINA_FALSE;
+    Eina_Bool  chk_ev_state_not_idle_ = EINA_FALSE;
+    int        chk_cb_called_ = 0;
+
+    tzsh_h tzsh = NULL;
+    tzsh_window tz_win = 0x0;
+    tzsh_screensaver_service_h tz_scrsaver = NULL;
+    tzsh_screensaver_manager_service_h tz_scrsaver_mng = NULL;
+
+    etTestTzsh()
+      {
+         chk_timeout_val_ = EINA_FALSE;
+         chk_ev_state_idle_timeout_ = EINA_FALSE;
+         chk_ev_state_not_idle_ = EINA_FALSE;
+         chk_cb_called_ = 0;
+      };
+
+    ~etTestTzsh()
+      {
+         if (tz_scrsaver_mng) tzsh_screensaver_manager_service_destroy(tz_scrsaver_mng);
+         if (tz_scrsaver) tzsh_screensaver_service_destroy(tz_scrsaver);
+         if (tzsh) tzsh_destroy(tzsh);
+      };
+
+ protected:
+    etWin     *tw_base = NULL;
+
+    void initTC();
 };
 
-Eina_Bool
+void
 etTestTzsh::initTC()
 {
-   Eina_Bool res = EINA_FALSE;
-
-   tw_base = new etWin();
-   res = tw_base->init(NULL,
-                       ELM_WIN_BASIC,
-                       EINA_FALSE,
-                       "etWin Tzsh",
-                       0, 0, 0, 0, EINA_FALSE,
-                       (E_Layer) 0,
-                       E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_base->native_win = etRunner::get().getWinId(tw_base->elm_win);
-
-   res = etRunner::get().registerWin(tw_base);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   return EINA_TRUE;
+   tw_base = initNormalWin("TCWin_Normal_base", EINA_FALSE, EINA_FALSE);
+   ASSERT_TRUE(tw_base != NULL) << "failed to initiation window";
 }
 
 /******************
@@ -197,8 +172,7 @@ TEST_F(etTestTzsh, scrsaver_mng_basic)
 {
    Eina_Bool res = EINA_FALSE;
 
-   res = initTC();
-   ASSERT_TRUE(res);
+   initTC();
 
    tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
    ASSERT_TRUE(tzsh != NULL);
index 297f760..46a41b0 100644 (file)
@@ -1,61 +1,30 @@
 #include "e_test_event.h"
+#include "e_test_base.h"
 
-using ::testing::Test;
-
-class etTestRotation : public ::testing::Test
+class etTestRotation : public ::etTCBase
 {
-public:
-   etTestRotation() { };
-   ~etTestRotation()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tw_register) etRunner::get().deregisterWin(tw_register);
-      if (tw_base) delete tw_base;
-
-      if (etRunner::get().hasLastWinInfoList())
-        etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   const int rots[4] = {0, 90, 180, 270};
-   etWin *tw_base = NULL;
-   etWin *tw_register = NULL;
-
-   int saved_rot_ = 0;
-
-   Eina_Bool initTC();
-   Eina_Bool testWinRotation(etWin *tw, int rot);
+ public:
+    etTestRotation() { };
+    ~etTestRotation() { };
+
+ protected:
+    const int rots[4] = {0, 90, 180, 270};
+    int saved_rot_ = 0;
+
+    etWin *tw_base = NULL;
+
+    void initTC();
+    Eina_Bool testWinRotation(etWin *tw, int rot);
 };
 
-Eina_Bool
+void
 etTestRotation::initTC()
 {
-   Eina_Bool res = EINA_FALSE;
-
-   tw_base = new etWin();
-   res = tw_base->init(NULL,
-                       ELM_WIN_BASIC,
-                       EINA_FALSE,
-                       "etWin Rotation",
-                       0, 0, 400, 400, EINA_FALSE,
-                       E_LAYER_CLIENT_NORMAL,
-                       E_TC_WIN_COLOR_BLUE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-   tw_base->native_win = etRunner::get().getWinId(tw_base->elm_win);
+   tw_base = initNormalWin("TCWin_Normal_Rotation",EINA_TRUE, EINA_TRUE);
+   ASSERT_TRUE(tw_base != NULL) << "failed to initiation window";
 
    // available rotations
    elm_win_wm_rotation_available_rotations_set(tw_base->elm_win, rots, 4);
-
-   res = etRunner::get().registerWin(tw_base);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw_register = tw_base;
-
-   tw_base->updateGeometry();
-   tw_base->show();
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
-
-   return EINA_TRUE;
 }
 
 Eina_Bool
@@ -92,8 +61,7 @@ TEST_F(etTestRotation, available_rotations)
    Eina_Bool res = EINA_FALSE;
    int rot = 0;
 
-   res = initTC();
-   ASSERT_TRUE(res);
+   initTC();
 
    res = etRunner::get().getWinInfo(tw_base);
    ASSERT_TRUE(res);
index 210b13e..c0dee66 100644 (file)
 #include "e_test_event.h"
+#include "e_test_base.h"
 
-using ::testing::Test;
-
-class etTestFocus : public ::testing::Test
+class etTestFocus : public ::etTCBase
 {
-public:
-   etTestFocus() { };
-   ~etTestFocus()
-   {
-      if (HasFailure()) etRunner::get().waitForDestroy();
-      if (tw_register)
-        {
-           etRunner::get().deregisterWin(tw_register);
-           tw_register = NULL;
-        }
-      if (tw_red)
-        {
-           delete tw_red;
-           tw_red = NULL;
-        }
-      if (tw_green)
-        {
-           delete tw_green;
-           tw_green = NULL;
-        }
-      if (tw_blue)
-        {
-           delete tw_blue;
-           tw_blue = NULL;
-        }
-      if (tw_blocker)
-        {
-           delete tw_blocker;
-           tw_blocker = NULL;
-        }
-      if (etRunner::get().hasLastWinInfoList())
-        etRunner::get().freeLastWinInfoList();
-   };
-
-protected:
-   etWin *tw_red = NULL;
-   etWin *tw_green = NULL;
-   etWin *tw_blue = NULL;
-   etWin *tw_blocker = NULL;
-   etWin *tw_register = NULL;
-
-   Eina_Bool initTC(Eina_Bool show_win, Eina_Bool use_geom);
-   Eina_Bool registerTCWin(etWin *tw);
-   Eina_Bool showTCWin(etWin *tw);
-};
+ public:
+    etTestFocus() { };
+    ~etTestFocus() { };
 
-Eina_Bool
-etTestFocus::initTC(Eina_Bool show_win, Eina_Bool use_geom)
-{
-   Eina_Bool res = EINA_FALSE;
+ protected:
+    etWin *tw_red = NULL;
+    etWin *tw_green = NULL;
+    etWin *tw_blue = NULL;
+    etWin *tw_blocker = NULL;
 
-   tw_red = new etWin();
-   res = tw_red->init(NULL,
-                      ELM_WIN_BASIC,
-                      EINA_FALSE,
-                      "etWin Red",
-                      0, 0, 400, 400, use_geom,
-                      E_LAYER_CLIENT_NORMAL,
-                      E_TC_WIN_COLOR_RED);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-   tw_red->native_win = etRunner::get().getWinId(tw_red->elm_win);
-
-   if (show_win)
-     showTCWin(tw_red);
-
-   tw_green = new etWin();
-   res = tw_green->init(NULL,
-                        ELM_WIN_BASIC,
-                        EINA_FALSE,
-                        "etWin Green",
-                        100, 100, 400, 400, use_geom,
-                        E_LAYER_CLIENT_NORMAL,
-                        E_TC_WIN_COLOR_GREEN);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-   tw_green->native_win = etRunner::get().getWinId(tw_green->elm_win);
-
-   if (show_win)
-     showTCWin(tw_green);
-
-   tw_blue = new etWin();
-   res = tw_blue->init(NULL,
-                       ELM_WIN_BASIC,
-                       EINA_FALSE,
-                       "etWin Blue",
-                       200, 200, 400, 400, use_geom,
-                       E_LAYER_CLIENT_NORMAL,
-                       E_TC_WIN_COLOR_BLUE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-   tw_blue->native_win = etRunner::get().getWinId(tw_blue->elm_win);
-
-   if (show_win)
-     showTCWin(tw_blue);
-
-   tw_blocker = new etWin();
-   res = tw_blocker->init(NULL,
-                          ELM_WIN_NOTIFICATION,
-                          EINA_FALSE,
-                          "etWin Blocker",
-                          0, 0, 0, 0, EINA_FALSE,
-                          E_LAYER_CLIENT_NORMAL,
-                          E_TC_WIN_COLOR_CYAN);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-   tw_blocker->native_win = etRunner::get().getWinId(tw_blocker->elm_win);
-
-  return EINA_TRUE;
-}
+    void initTC(Eina_Bool show_win, Eina_Bool usr_geom);
+};
 
-Eina_Bool
-etTestFocus::registerTCWin(etWin *tw)
+void
+etTestFocus::initTC(Eina_Bool show_win, Eina_Bool usr_geom)
 {
-   Eina_Bool res = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-
-   if (tw_register)
-     {
-        res = etRunner::get().deregisterWin(tw_register);
-        EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-        tw_register = NULL;
-     }
+   tw_red = initNormalWin("TCWin_Normal_red", show_win, usr_geom);
+   ASSERT_TRUE(tw_red != NULL) << "failed to initiation window";
 
-   res = etRunner::get().registerWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
+   tw_green = initNormalWin("TCWin_Normal_green", show_win, usr_geom);
+   ASSERT_TRUE(tw_green != NULL) << "failed to initiation window";
 
-   tw_register = tw;
+   tw_blue = initNormalWin("TCWin_Normal_blue", show_win, usr_geom);
+   ASSERT_TRUE(tw_blue != NULL) << "failed to initiation window";
 
-   return EINA_TRUE;
-}
-
-Eina_Bool
-etTestFocus::showTCWin(etWin *tw)
-{
-   Eina_Bool res = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(tw, EINA_FALSE);
-
-   res = registerTCWin(tw);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EINA_FALSE);
-
-   tw->updateGeometry();
-   tw->show();
-
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
-
-   return EINA_TRUE;
+   tw_blocker = initNotiWin("TCWin_Noti_Blocker", EINA_FALSE, EINA_FALSE, EINA_FALSE);
+   ASSERT_TRUE(tw_blue != NULL) << "failed to initiation window";
 }
 
 TEST_F(etTestFocus, focus_basic)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Expected focus res:
    // [Top] Blue[focused] -> Green -> Red [Bottom]
@@ -182,8 +61,8 @@ TEST_F(etTestFocus, focus_lower)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // make tw_blue lower
    res = etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
@@ -211,8 +90,8 @@ TEST_F(etTestFocus, focus_raise)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // make tw_red raise
    res = registerTCWin(tw_red);
@@ -239,17 +118,14 @@ TEST_F(etTestFocus, focus_raise)
 TEST_F(etTestFocus, focus_destroy)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // delete tw_blue
-   tw_blue->hide();
-   delete tw_blue;
+   removeTCWin(tw_blue);
    tw_blue = NULL;
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_OFF);
 
    // Expected focus res:
    // [Top] Green[focused] -> Red [Bottom]
@@ -272,8 +148,8 @@ TEST_F(etTestFocus, focus_activate1)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // Activate tw_red
    res = registerTCWin(tw_red);
@@ -303,8 +179,8 @@ TEST_F(etTestFocus, focus_activate2)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // show Blocker
    showTCWin(tw_blocker);
@@ -337,7 +213,8 @@ TEST_F(etTestFocus, focus_transient_for1)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set transient_for Blue(parent) & Red(child)
    res = registerTCWin(tw_red);
@@ -367,7 +244,8 @@ TEST_F(etTestFocus, focus_transient_for2)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set transient_for Blue(parent) & Green(child)
    res = registerTCWin(tw_green);
@@ -397,7 +275,8 @@ TEST_F(etTestFocus, focus_transient_for3)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set transient_for Green(parent) & Blue(child)
    res = registerTCWin(tw_green);
@@ -427,7 +306,8 @@ TEST_F(etTestFocus, focus_iconify1)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set iconify Blue
    res = registerTCWin(tw_blue);
@@ -457,7 +337,8 @@ TEST_F(etTestFocus, focus_iconify2)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set iconify Red
    res = registerTCWin(tw_red);
@@ -487,7 +368,8 @@ TEST_F(etTestFocus, focus_uniconify)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set iconify Red
    res = registerTCWin(tw_red);
@@ -516,14 +398,88 @@ TEST_F(etTestFocus, focus_uniconify)
    etRunner::get().freeWinInfoList(list);
 }
 
-TEST_F(etTestFocus, focus_touch_basic)
+// TODO:: Set enable when fix focus policy is done.
+TEST_F(etTestFocus, DISABLED_focus_uniconify2)
 {
    etWin *tw = NULL;
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set iconify Blue
+   res = registerTCWin(tw_blue);
+   EXPECT_TRUE(res);
+   res = etRunner::get().setWinIconic(tw_blue, EINA_TRUE);
+   ASSERT_TRUE(res);
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_OFF);
+
+   // set uniconify Blue
+   res = etRunner::get().setWinIconic(tw_blue, EINA_FALSE);
    ASSERT_TRUE(res);
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_ON);
+
+   // 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_TRUE(tw->Focus.obj);
+        else
+          ASSERT_FALSE(tw->Focus.obj);
+     }
+   etRunner::get().freeWinInfoList(list);
+}
+
+// TODO:: Set enable when fix focus policy is done.
+TEST_F(etTestFocus, DISABLED_focus_visibility)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // show blocker
+   res = etRunner::get().setWinNotiLevel(tw_blocker,
+                                         EFL_UTIL_NOTIFICATION_LEVEL_DEFAULT);
+   EXPECT_TRUE(res);
+   showTCWin(tw_blocker);
+
+   // hide blocker
+   tw_blocker->hide();
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_OFF);
+   res = registerTCWin(tw_blue);
+   EXPECT_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_TRUE(tw->Focus.obj);
+        else
+          ASSERT_FALSE(tw->Focus.obj);
+     }
+   etRunner::get().freeWinInfoList(list);
+}
+
+TEST_F(etTestFocus, focus_touch_basic)
+{
+   etWin *tw = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *list = NULL, *l = NULL;
+
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // touch red win
    res = registerTCWin(tw_red);
@@ -550,11 +506,10 @@ TEST_F(etTestFocus, focus_touch_basic)
 TEST_F(etTestFocus, focus_skip_set)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set focus_skip on tw_blue
    etRunner::get().setFocusSkip(tw_blue, EINA_TRUE);
@@ -580,11 +535,10 @@ TEST_F(etTestFocus, focus_skip_set)
 TEST_F(etTestFocus, focus_skip_unset)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_TRUE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
 
    // set focus_skip on tw_blue
    etRunner::get().setFocusSkip(tw_blue, EINA_TRUE);
@@ -620,14 +574,49 @@ TEST_F(etTestFocus, focus_skip_unset)
      }
    etRunner::get().freeWinInfoList(list);
 }
-TEST_F(etTestFocus, focus_fullsize_basic)
+
+TEST_F(etTestFocus, focus_touch_with_focus_skip)
 {
    etWin *tw = NULL;
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=true
+   initTC(EINA_TRUE, EINA_TRUE);
+
+   // set focus_skip on tw_red
+   res = registerTCWin(tw_red);
+   EXPECT_TRUE(res);
+   etRunner::get().setFocusSkip(tw_red, EINA_TRUE);
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_FOCUS_CHANGED);
+
+   // touch red win
+   etRunner::get().generateMouseDown(50, 50);
+   etRunner::get().generateMouseUp(50, 50);
+   etRunner::get().waitEvent(E_TC_EVENT_TYPE_FOCUS_CHANGED);
+
+   // 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_TRUE(tw->Focus.obj);
+        else
+          ASSERT_FALSE(tw->Focus.obj);
+     }
+   etRunner::get().freeWinInfoList(list);
+}
+
+TEST_F(etTestFocus, focus_fullsize_basic)
+{
+   etWin *tw = NULL;
+   Eina_List *list = NULL, *l = NULL;
+
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Expected focus res:
    // [Top] Blue[focused] -> Green -> Red [Bottom]
@@ -650,8 +639,8 @@ TEST_F(etTestFocus, focus_fullsize_lower)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // make tw_blue lower
    res = etRunner::get().setWinStack(tw_blue, NULL, EINA_FALSE);
@@ -679,8 +668,8 @@ TEST_F(etTestFocus, focus_fullsize_raise)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // make tw_red raise
    res = etRunner::get().setWinStack(tw_red, NULL, EINA_TRUE);
@@ -705,17 +694,14 @@ TEST_F(etTestFocus, focus_fullsize_raise)
 TEST_F(etTestFocus, focus_fullsize_destroy)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // delete tw_blue
-   tw_blue->hide();
-   delete tw_blue;
+   removeTCWin(tw_blue);
    tw_blue = NULL;
-   etRunner::get().waitEvent(E_TC_EVENT_TYPE_VIS_OFF);
 
    // Expected focus res:
    // [Top] Green[focused] -> Red [Bottom]
@@ -738,8 +724,8 @@ TEST_F(etTestFocus, focus_fullsize_activate)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // Activate tw_red
    res = registerTCWin(tw_red);
@@ -769,7 +755,8 @@ TEST_F(etTestFocus, focus_fullsize_transient_for)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // set transient_for Blue(parent) & Red(child)
    res = registerTCWin(tw_red);
@@ -799,7 +786,8 @@ TEST_F(etTestFocus, focus_fullsize_iconify)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // set iconify Blue
    res = registerTCWin(tw_blue);
@@ -829,7 +817,8 @@ TEST_F(etTestFocus, focus_fullsize_uniconify)
    Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // set iconify Red
    res = registerTCWin(tw_red);
@@ -861,11 +850,10 @@ TEST_F(etTestFocus, focus_fullsize_uniconify)
 TEST_F(etTestFocus, focus_fullsize_skip_set)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // set focus_skip on tw_blue
    etRunner::get().setFocusSkip(tw_blue, EINA_TRUE);
@@ -886,11 +874,10 @@ TEST_F(etTestFocus, focus_fullsize_skip_set)
 TEST_F(etTestFocus, focus_fullsize_skip_unset)
 {
    etWin *tw = NULL;
-   Eina_Bool res = EINA_FALSE;
    Eina_List *list = NULL, *l = NULL;
 
-   res = initTC(EINA_TRUE, EINA_FALSE);
-   ASSERT_TRUE(res);
+   // init TC window, show=true, geom=false
+   initTC(EINA_TRUE, EINA_FALSE);
 
    // set focus_skip on tw_blue
    // Expected focus res: