X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-KeyboardFocusManager.cpp;h=4780331339be6d0577334c5ccca33d4a71ecab0e;hb=7562b511d06c8a8157883e35308aaa65e4e10810;hp=6d0e8af630bfa91f0df7fb4de28c087ecc10580f;hpb=bb7e4ec5b2bf13fe0eef2d1446e2ef2bbb41edb0;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 6d0e8af..4780331 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -247,6 +248,34 @@ public: bool mIsCalled; }; +class WheelEventCallback : public Dali::ConnectionTracker +{ +public: + /** + * Constructor + * @param[in] returnValue Set return value of WheelEvent callback. + * */ + WheelEventCallback( bool consumed ) + : mConsumed( consumed ), + mIsCalled( false ) + { + } + + bool Callback( Actor actor, const WheelEvent& wheelEvent ) + { + mIsCalled = true; + return mConsumed; + } + + void Callback( const WheelEvent& wheelEvent ) + { + mIsCalled = true; + } + + bool mConsumed; + bool mIsCalled; +}; + // Used to connect to signals via the ConnectSignal Handle method struct CallbackFunctor { @@ -2036,4 +2065,46 @@ int UtcDaliKeyboardFocusManagerWithKeyboardFocusableChildren(void) DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second); END_TEST; +} + +int UtcDaliKeyboardFocusManagerCheckWheelEvent(void) +{ + ToolkitTestApplication application; + + tet_infoline( "UtcDaliKeyboardFocusManagerCheckWheelEvent" ); + Dali::Integration::Scene scene = application.GetScene(); + + KeyboardFocusManager manager = KeyboardFocusManager::Get(); + DALI_TEST_CHECK( ! manager.GetCurrentFocusActor() ); + + // Create the first actor and add it to the stage + Actor parent = Actor::New(); + parent.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true); + + Actor child = Actor::New(); + child.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true); + + parent.Add(child); + scene.Add(parent); + + WheelEventCallback childCallback( false ); + child.WheelEventSignal().Connect( &childCallback, &WheelEventCallback::Callback ); + + WheelEventCallback parentCallback( true ); + parent.WheelEventSignal().Connect( &parentCallback, &WheelEventCallback::Callback ); + + WheelEventCallback sceneCallback( false ); + scene.WheelEventSignal().Connect( &sceneCallback, &WheelEventCallback::Callback ); + + manager.SetCurrentFocusActor( child ); + + // Emit custom wheel event is comming to KeyboardFocusManager + Integration::WheelEvent event(Integration::WheelEvent::CUSTOM_WHEEL, 0, 0u, Vector2(0.0f, 0.0f), 1, 1000u); + application.ProcessEvent(event); + + DALI_TEST_CHECK( childCallback.mIsCalled ); + DALI_TEST_CHECK( parentCallback.mIsCalled ); + DALI_TEST_CHECK( !sceneCallback.mIsCalled ); + + END_TEST; } \ No newline at end of file