From 703b68df7410e793a7e288f266b47b6ca4548ced Mon Sep 17 00:00:00 2001 From: "JunSeok, Kim" Date: Wed, 27 Jun 2018 16:43:12 +0900 Subject: [PATCH] e_test_base: Add base test case and make all test case to inherit e_test_base. Change-Id: I2da618d78ef73ab9c9438edaddbac54b2de3a6a9 --- src/Makefile.am | 2 + src/e_test_base.cpp | 194 ++++++++++++ src/e_test_base.h | 31 ++ src/e_test_win.cpp | 1 - src/e_test_win.h | 1 - src/testcase/0001_easy.cpp | 11 +- src/testcase/0002_base_operation.cpp | 83 ++---- src/testcase/0003_base_operation_multi_wins.cpp | 269 +++++------------ src/testcase/0004_transient_for.cpp | 155 +++------- src/testcase/0005_notification.cpp | 161 +++------- src/testcase/0006_tzsh.cpp | 98 +++--- src/testcase/0007_rotation.cpp | 68 ++--- src/testcase/0008_focus.cpp | 381 ++++++++++++------------ 13 files changed, 649 insertions(+), 806 deletions(-) create mode 100644 src/e_test_base.cpp create mode 100644 src/e_test_base.h diff --git a/src/Makefile.am b/src/Makefile.am index e689757..c268992 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 index 0000000..05d1c53 --- /dev/null +++ b/src/e_test_base.cpp @@ -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 index 0000000..5572f4f --- /dev/null +++ b/src/e_test_base.h @@ -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__ diff --git a/src/e_test_win.cpp b/src/e_test_win.cpp index 591ddb0..57810da 100644 --- a/src/e_test_win.cpp +++ b/src/e_test_win.cpp @@ -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; diff --git a/src/e_test_win.h b/src/e_test_win.h index a80207d..a2b7566 100644 --- a/src/e_test_win.h +++ b/src/e_test_win.h @@ -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() diff --git a/src/testcase/0001_easy.cpp b/src/testcase/0001_easy.cpp index 4733e99..f174a48 100644 --- a/src/testcase/0001_easy.cpp +++ b/src/testcase/0001_easy.cpp @@ -1,18 +1,13 @@ -#include #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 diff --git a/src/testcase/0002_base_operation.cpp b/src/testcase/0002_base_operation.cpp index 2f17c63..89690d9 100644 --- a/src/testcase/0002_base_operation.cpp +++ b/src/testcase/0002_base_operation.cpp @@ -1,67 +1,33 @@ -#include #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); } diff --git a/src/testcase/0003_base_operation_multi_wins.cpp b/src/testcase/0003_base_operation_multi_wins.cpp index 7ec8aa3..d313416 100644 --- a/src/testcase/0003_base_operation_multi_wins.cpp +++ b/src/testcase/0003_base_operation_multi_wins.cpp @@ -1,145 +1,41 @@ -#include #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); diff --git a/src/testcase/0004_transient_for.cpp b/src/testcase/0004_transient_for.cpp index 4c686e3..a4e9b47 100644 --- a/src/testcase/0004_transient_for.cpp +++ b/src/testcase/0004_transient_for.cpp @@ -1,122 +1,31 @@ #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); diff --git a/src/testcase/0005_notification.cpp b/src/testcase/0005_notification.cpp index c4f6207..28b5ab1 100644 --- a/src/testcase/0005_notification.cpp +++ b/src/testcase/0005_notification.cpp @@ -1,105 +1,32 @@ #include "e_test_event.h" +#include "e_test_base.h" #include -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, diff --git a/src/testcase/0006_tzsh.cpp b/src/testcase/0006_tzsh.cpp index ed06d44..4a76565 100644 --- a/src/testcase/0006_tzsh.cpp +++ b/src/testcase/0006_tzsh.cpp @@ -1,75 +1,50 @@ #include "e_test_event.h" +#include "e_test_base.h" #include #include #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); diff --git a/src/testcase/0007_rotation.cpp b/src/testcase/0007_rotation.cpp index 297f760..46a41b0 100644 --- a/src/testcase/0007_rotation.cpp +++ b/src/testcase/0007_rotation.cpp @@ -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); diff --git a/src/testcase/0008_focus.cpp b/src/testcase/0008_focus.cpp index 210b13e..c0dee66 100644 --- a/src/testcase/0008_focus.cpp +++ b/src/testcase/0008_focus.cpp @@ -1,165 +1,44 @@ #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: -- 2.7.4