X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-KeyInputFocusManager.cpp;h=4686512bd70404a17efed722a240a220e29c6729;hp=4d191a8da94b229afa20d1f62cd75ab00e24ddfd;hb=0e8dfa9c961af84b18edf2e3307840b0d94fb430;hpb=f558388c388bcdf4939ca7af098cbcfc1631ad89 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-KeyInputFocusManager.cpp b/automated-tests/src/dali-toolkit/utc-Dali-KeyInputFocusManager.cpp index 4d191a8..4686512 100755 --- a/automated-tests/src/dali-toolkit/utc-Dali-KeyInputFocusManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-KeyInputFocusManager.cpp @@ -139,6 +139,7 @@ int UtcDaliKeyInputFocusManagerGet(void) // Check that focus manager is a singleton DALI_TEST_CHECK(manager == newManager); + END_TEST; } @@ -430,3 +431,49 @@ int UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged(void) DALI_TEST_CHECK( lostActor == Control() ); END_TEST; } + +int UtcDaliKeyInputFocusManagerSignalKeyInputFocusChangedforNewWindow(void) +{ + ToolkitTestApplication application; + KeyInputFocusManager manager = KeyInputFocusManager::Get(); + + tet_infoline(" UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged"); + + PushButton pushButton1 = PushButton::New(); + PushButton pushButton2 = PushButton::New(); + + Window window = Window::New(PositionSize(0,0,0,0) ,"", false); + DALI_TEST_CHECK( window ); + + window.Add( pushButton1 ); + window.Add( pushButton2 ); + + PushButton gainActor, lostActor; + KeyInputFocusChangedCallback callback( gainActor, lostActor ); + manager.KeyInputFocusChangedSignal().Connect( &callback, &KeyInputFocusChangedCallback::Callback ); + + manager.SetFocus(pushButton1); + + DALI_TEST_CHECK( gainActor == pushButton1 ); + DALI_TEST_CHECK( lostActor == Control() ); + + gainActor.Reset(); + lostActor.Reset(); + + manager.SetFocus(pushButton2); + + DALI_TEST_CHECK( gainActor == pushButton2 ); + DALI_TEST_CHECK( lostActor == pushButton1 ); + + gainActor.Reset(); + lostActor.Reset(); + + // Removing the focus actor from the window would also result in signal emission. + window.Remove( pushButton1 ); + window.Remove( pushButton2 ); + DALI_TEST_CHECK( gainActor == Control() ); + DALI_TEST_CHECK( lostActor == Control() ); + + window.Reset(); + END_TEST; +}