+ // Sets the actor to root.
+ Dali::Toolkit::DevelKeyboardFocusManager::SetFocusFinderRootActor(manager, actor);
+
+ // Move the focus towards right
+ // [buttonA] -- buttonB
+ DALI_TEST_CHECK(manager.MoveFocus(Control::KeyboardFocus::RIGHT) == true);
+
+ // Confirm whether focus is moved to buttonA
+ // Because the root is an actor, the focus is moved to buttonA, a child of the actor.
+ DALI_TEST_EQUALS(buttonA.GetProperty<int>(DevelControl::Property::STATE), (int)DevelControl::FOCUSED, TEST_LOCATION);
+ DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
+ DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == Actor());
+ DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == buttonA);
+ focusChangedCallback.Reset();
+
+
+ // Move the focus towards right, The focus move will success.
+ // buttonA -- [buttonB]
+ DALI_TEST_CHECK(manager.MoveFocus(Control::KeyboardFocus::RIGHT) == true);
+ // Confirm whether focus is moved to buttonB
+ DALI_TEST_EQUALS(buttonB.GetProperty<int>(DevelControl::Property::STATE), (int)DevelControl::FOCUSED, TEST_LOCATION);
+ DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
+ DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == buttonA);
+ DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == buttonB);
+ focusChangedCallback.Reset();
+
+ // reset
+ Dali::Toolkit::DevelKeyboardFocusManager::ResetFocusFinderRootActor(manager);