From 2b8e609c833f841347cf6f73d4f1b94109bf8e37 Mon Sep 17 00:00:00 2001 From: "Junseok, Kim" Date: Tue, 27 Apr 2021 22:08:53 +0900 Subject: [PATCH] 0004_transient_for: added test for restack as transient_for set Change-Id: I38a12c92c4aecb622ce2b222790a5624ae3ca30c --- src/testcase/0004_transient_for.cpp | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/testcase/0004_transient_for.cpp b/src/testcase/0004_transient_for.cpp index ed44866..410ee63 100644 --- a/src/testcase/0004_transient_for.cpp +++ b/src/testcase/0004_transient_for.cpp @@ -92,6 +92,59 @@ TEST_F(etTestTransientFor, transient_for_basic) ASSERT_EQ(3, pass_count); } +TEST_F(etTestTransientFor, transient_for_basic2) +{ + etWin *tw = NULL; + Eina_Bool res = EINA_FALSE; + Eina_List *list = NULL, *l = NULL; + int pass_count = 0; + + // init TC window, show=true, geom=true + initTC(EINA_TRUE, EINA_TRUE); + + // raise tw_parent + etRunner::get().setWinStack(tw_parent, NULL, EINA_TRUE); + ASSERT_EVENT(tw_parent, E_TC_EVENT_TYPE_STACK_RAISE); + + // set transient_for + res = etRunner::get().setWinTransientFor(tw_child, tw_parent, EINA_TRUE); + ASSERT_TRUE(res); + ASSERT_EVENT(tw_child, E_TC_EVENT_TYPE_STACK_ABOVE); + + // Expected stack res: + // [Top] tw_child -> tw_parent -> tw_base [Bottom] + list = etRunner::get().getWinInfoList(); + ASSERT_TRUE(list != NULL); + + EINA_LIST_CAST_FOREACH(list, l, tw, etWin*) + { + if (tw->layer > 200) continue; + + if (pass_count == 0) + { + ASSERT_EQ(tw->native_win, tw_child->native_win); + pass_count++; + continue; + } + else if (pass_count == 1) + { + ASSERT_EQ(tw->native_win, tw_parent->native_win); + pass_count++; + continue; + } + else + { + ASSERT_EQ(tw->native_win, tw_base->native_win); + pass_count++; + } + + break; + } + etRunner::get().freeWinInfoList(list); + + ASSERT_EQ(3, pass_count); +} + TEST_F(etTestTransientFor, transient_for_raise) { etWin *tw = NULL; -- 2.7.4