X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-KeyboardFocusManager.cpp;h=4d0d54e884785f25f74785af051eff4d59d6cc21;hb=f2e58d7d6fc3a5f5a5833831cab8857a46821178;hp=60e9eea3dfd2305bf168bea0559e336ffcc6a2c6;hpb=1ed13686889174ecf7802063db980fc573aeb4a4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp index 60e9eea..4d0d54e 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp @@ -2389,3 +2389,70 @@ int UtcDaliKeyboardFocusManagerFocusFinderRootActor(void) END_TEST; } + +int UtcDaliKeyboardFocusManagerKeyEventOtherWindow(void) +{ + ToolkitTestApplication application; + + tet_infoline(" UtcDaliKeyboardFocusManagerKeyEventOtherWindow"); + + Dali::Integration::Scene scene = application.GetScene(); + + // Register Type + TypeInfo type; + type = TypeRegistry::Get().GetTypeInfo("KeyboardFocusManager"); + DALI_TEST_CHECK(type); + BaseHandle handle = type.CreateInstance(); + DALI_TEST_CHECK(handle); + + KeyboardFocusManager manager = KeyboardFocusManager::Get(); + DALI_TEST_CHECK(manager); + + + PushButton button1 = PushButton::New(); + PushButton button2 = PushButton::New(); + button1.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + button2.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + application.GetScene().Add(button1); + application.GetScene().Add(button2); + + // Set the focus to the button1 + DALI_TEST_CHECK(manager.SetCurrentFocusActor(button1) == true); + DALI_TEST_CHECK(manager.GetCurrentFocusActor() == button1); + + // set the navigation properties of button1 + button1.SetProperty(Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty(Actor::Property::ID))); + button1.SetProperty(Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty(Actor::Property::ID))); + button1.SetProperty(Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty(Actor::Property::ID))); + button1.SetProperty(Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty(Actor::Property::ID))); + button1.SetProperty(Toolkit::DevelControl::Property::CLOCKWISE_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty< int >( Actor::Property::ID))); + button1.SetProperty(Toolkit::DevelControl::Property::COUNTER_CLOCKWISE_FOCUSABLE_ACTOR_ID, Property::Value((int)button2.GetProperty< int >( Actor::Property::ID))); + + Integration::KeyEvent event("Right", "", "Right", 0, 0, 0, Integration::KeyEvent::DOWN, "", DEFAULT_DEVICE_NAME, Device::Class::NONE, Device::Subclass::NONE); + // It makes mIsFocusIndicatorEnabled true + application.ProcessEvent(event); + + // Move the focus towards right + application.ProcessEvent(event); + + // flush the queue and render once + application.SendNotification(); + application.Render(); + + DALI_TEST_CHECK(manager.GetCurrentFocusActor() == button2); + + DALI_TEST_CHECK(manager.SetCurrentFocusActor(button1) == true); + DALI_TEST_CHECK(manager.GetCurrentFocusActor() == button1); + + Integration::KeyEvent event1("Right", "", "Right", 0, 0, 0, Integration::KeyEvent::DOWN, "", DEFAULT_DEVICE_NAME, Device::Class::NONE, Device::Subclass::NONE); + event1.windowId = 3; + application.ProcessEvent(event1); + + // flush the queue and render once + application.SendNotification(); + application.Render(); + + DALI_TEST_CHECK(manager.GetCurrentFocusActor() == button1); + + END_TEST; +} \ No newline at end of file