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-AccessibilityManager.cpp;h=a354847ed179781be1e40d6a2f686c802c64faa9;hp=7dfe82f0458b59d0423557db704102e8136fbc49;hb=bf58973c37b31d52707463a1e9cdecdbe91099f6;hpb=09e0f6477db3adfa854d2ac4c376c4076bda9796 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-AccessibilityManager.cpp b/automated-tests/src/dali-toolkit/utc-Dali-AccessibilityManager.cpp index 7dfe82f..a354847 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-AccessibilityManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-AccessibilityManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,12 @@ #include #include -// Need to override adaptor classes for toolkit test harness, so include -// test harness headers before dali headers. -#include - #include +#include + +#include +#include +#include using namespace Dali; using namespace Toolkit; @@ -42,13 +43,6 @@ void utc_dali_toolkit_accessibility_manager_cleanup(void) namespace { -static bool gObjectCreatedCallBackCalled; - -static void TestCallback(BaseHandle handle) -{ - gObjectCreatedCallBackCalled = true; -} - // Functors to test whether focus changed signal is emitted when the focus is changed class FocusChangedCallback : public Dali::ConnectionTracker { @@ -137,19 +131,8 @@ int UtcDaliAccessibilityManagerGet(void) tet_infoline(" UtcDaliAccessibilityManagerGet"); - AccessibilityManager manager; - - //Ensure object is created by checking if it's registered - ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry(); - DALI_TEST_CHECK(registry); - - gObjectCreatedCallBackCalled = false; - registry.ObjectCreatedSignal().Connect( &TestCallback ); - { - manager = AccessibilityManager::Get(); - DALI_TEST_CHECK(manager); - } - DALI_TEST_CHECK( gObjectCreatedCallBackCalled ); + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK(manager); AccessibilityManager newManager = AccessibilityManager::Get(); DALI_TEST_CHECK(newManager); @@ -222,6 +205,10 @@ int UtcDaliAccessibilityManagerSetAndGetFocusOrder(void) // make sure the change of focus order doesn't affect the actor's description DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second"); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Set the focus order and description for the third actor Actor third = Actor::New(); manager.SetFocusOrder(third, 1); @@ -296,9 +283,9 @@ int UtcDaliAccessibilityManagerGetActorByFocusOrder(void) DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == Actor()); // Add the actors to the stage - Stage::GetCurrent().Add(first); - Stage::GetCurrent().Add(second); - Stage::GetCurrent().Add(third); + application.GetScene().Add(first); + application.GetScene().Add(second); + application.GetScene().Add(third); // Check that we get an empty handle because focus order 0 means undefined. DALI_TEST_CHECK(manager.GetActorByFocusOrder(0) == Actor()); @@ -308,6 +295,10 @@ int UtcDaliAccessibilityManagerGetActorByFocusOrder(void) DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == second); DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == third); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Change the focus order of the third actor to 1 manager.SetFocusOrder(third, 1); @@ -330,15 +321,19 @@ int UtcDaliAccessibilityManagerSetAndGetCurrentFocusActor(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Create the first actor and add it to the stage Actor first = Actor::New(); manager.SetFocusOrder(first, 1); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); // Create the second actor and add it to the stage Actor second = Actor::New(); manager.SetFocusOrder(second, 2); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); // Create the third actor but don't add it to the stage Actor third = Actor::New(); @@ -362,10 +357,10 @@ int UtcDaliAccessibilityManagerSetAndGetCurrentFocusActor(void) DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false); // Add the third actor to the stage - Stage::GetCurrent().Add(third); + application.GetScene().Add(third); // make the third actor invisible - third.SetVisible(false); + third.SetProperty( Actor::Property::VISIBLE,false); // flush the queue and render once application.SendNotification(); application.Render(); @@ -374,7 +369,7 @@ int UtcDaliAccessibilityManagerSetAndGetCurrentFocusActor(void) DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false); // Make the third actor visible - third.SetVisible(true); + third.SetProperty( Actor::Property::VISIBLE,true); // flush the queue and render once application.SendNotification(); application.Render(); @@ -421,13 +416,17 @@ int UtcDaliAccessibilityManagerGetCurrentFocusGroup(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Create an actor with two child actors and add it to the stage Actor parent = Actor::New(); Actor firstChild = Actor::New(); Actor secondChild = Actor::New(); parent.Add(firstChild); parent.Add(secondChild); - Stage::GetCurrent().Add(parent); + application.GetScene().Add(parent); // Create three actors and add them as the children of the first child actor Actor firstGrandChild = Actor::New(); @@ -488,14 +487,18 @@ int UtcDaliAccessibilityManagerGetCurrentFocusOrder(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + Actor first = Actor::New(); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); Actor second = Actor::New(); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); Actor third = Actor::New(); - Stage::GetCurrent().Add(third); + application.GetScene().Add(third); // Set the focus order and description for the first actor manager.SetFocusOrder(first, 1); @@ -545,14 +548,19 @@ int UtcDaliAccessibilityManagerMoveFocusForward(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + accAdaptor.HandleActionNextEvent(true); + Actor first = Actor::New(); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); Actor second = Actor::New(); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); Actor third = Actor::New(); - Stage::GetCurrent().Add(third); + application.GetScene().Add(third); // Set the focus order and description for the first actor manager.SetFocusOrder(first, 1); @@ -624,7 +632,7 @@ int UtcDaliAccessibilityManagerMoveFocusForward(void) DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third"); // Make the first actor invisible - first.SetVisible(false); + first.SetProperty( Actor::Property::VISIBLE,false); // flush the queue and render once application.SendNotification(); application.Render(); @@ -637,7 +645,7 @@ int UtcDaliAccessibilityManagerMoveFocusForward(void) DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third"); // Make the third actor invisible so that no actor can be focused. - third.SetVisible(false); + third.SetProperty( Actor::Property::VISIBLE,false); // flush the queue and render once application.SendNotification(); application.Render(); @@ -658,14 +666,18 @@ int UtcDaliAccessibilityManagerMoveFocusBackward(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + Actor first = Actor::New(); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); Actor second = Actor::New(); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); Actor third = Actor::New(); - Stage::GetCurrent().Add(third); + application.GetScene().Add(third); // Set the focus order and description for the first actor manager.SetFocusOrder(first, 1); @@ -737,7 +749,7 @@ int UtcDaliAccessibilityManagerMoveFocusBackward(void) DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first"); // Make the third actor invisible - third.SetVisible(false); + third.SetProperty( Actor::Property::VISIBLE,false); // flush the queue and render once application.SendNotification(); application.Render(); @@ -750,7 +762,7 @@ int UtcDaliAccessibilityManagerMoveFocusBackward(void) DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first"); // Make the first actor invisible so that no actor can be focused. - first.SetVisible(false); + first.SetProperty( Actor::Property::VISIBLE,false); // flush the queue and render once application.SendNotification(); application.Render(); @@ -771,15 +783,19 @@ int UtcDaliAccessibilityManagerClearFocus(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Create the first actor and add it to the stage Actor first = Actor::New(); manager.SetFocusOrder(first, 1); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); // Create the second actor and add it to the stage Actor second = Actor::New(); manager.SetFocusOrder(second, 2); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); // Check that no actor is being focused yet. DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor()); @@ -812,12 +828,12 @@ int UtcDaliAccessibilityManagerReset(void) // Create the first actor and add it to the stage Actor first = Actor::New(); manager.SetFocusOrder(first, 1); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); // Create the second actor and add it to the stage Actor second = Actor::New(); manager.SetFocusOrder(second, 2); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); // Check that no actor is being focused yet. DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor()); @@ -849,13 +865,17 @@ int UtcDaliAccessibilityManagerFocusGroup(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + // Create an actor with two child actors and add it to the stage Actor parent = Actor::New(); Actor firstChild = Actor::New(); Actor secondChild = Actor::New(); parent.Add(firstChild); parent.Add(secondChild); - Stage::GetCurrent().Add(parent); + application.GetScene().Add(parent); // Create three actors and add them as the children of the first child actor Actor firstGrandChild = Actor::New(); @@ -955,6 +975,51 @@ int UtcDaliAccessibilityManagerSetAndGetFocusIndicator(void) END_TEST; } +int UtcDaliAccessibilityManagerSetAndGetFocusIndicatorWithFocusedActor(void) +{ + ToolkitTestApplication application; + + tet_infoline(" UtcDaliAccessibilityManagerSetAndGetFocusIndicatorWithFocusedActor"); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK(manager); + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + Actor defaultFocusIndicatorActor = manager.GetFocusIndicatorActor(); + DALI_TEST_CHECK(defaultFocusIndicatorActor); + + Actor focusedActor = Actor::New(); + application.GetScene().Add( focusedActor ); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( focusedActor.GetChildCount(), 0u, TEST_LOCATION ); + + manager.SetFocusOrder( focusedActor, 1 ); + manager.SetCurrentFocusActor( focusedActor ); + + DALI_TEST_EQUALS( focusedActor.GetChildCount(), 1u, TEST_LOCATION ); + DALI_TEST_CHECK( focusedActor.GetChildAt(0) == defaultFocusIndicatorActor ); + + Actor newFocusIndicatorActor = Actor::New(); + manager.SetFocusIndicatorActor( newFocusIndicatorActor ); + DALI_TEST_CHECK(manager.GetFocusIndicatorActor() == newFocusIndicatorActor); + DALI_TEST_EQUALS( focusedActor.GetChildCount(), 1u, TEST_LOCATION ); + DALI_TEST_CHECK( focusedActor.GetChildAt(0) == newFocusIndicatorActor ); + + // Disable Accessibility + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, false ); + accAdaptor.HandleActionEnableEvent(); + + DALI_TEST_EQUALS( focusedActor.GetChildCount(), 0u, TEST_LOCATION ); + + END_TEST; +} + int UtcDaliAccessibilityManagerSignalFocusChanged(void) { ToolkitTestApplication application; @@ -971,12 +1036,12 @@ int UtcDaliAccessibilityManagerSignalFocusChanged(void) // Create the first actor and add it to the stage Actor first = Actor::New(); manager.SetFocusOrder(first, 1); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); // Create the second actor and add it to the stage Actor second = Actor::New(); manager.SetFocusOrder(second, 2); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); // Check that no actor is being focused yet. DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor()); @@ -1011,6 +1076,10 @@ int UtcDaliAccessibilityManagerSignalFocusOvershot(void) AccessibilityManager manager = AccessibilityManager::Get(); DALI_TEST_CHECK(manager); + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + bool signalVerified = false; FocusOvershotCallback callback(signalVerified); manager.FocusOvershotSignal().Connect(&callback, &FocusOvershotCallback::Callback); @@ -1018,12 +1087,12 @@ int UtcDaliAccessibilityManagerSignalFocusOvershot(void) // Create the first actor and add it to the stage Actor first = Actor::New(); manager.SetFocusOrder(first, 1); - Stage::GetCurrent().Add(first); + application.GetScene().Add(first); // Create the second actor and add it to the stage Actor second = Actor::New(); manager.SetFocusOrder(second, 2); - Stage::GetCurrent().Add(second); + application.GetScene().Add(second); // Check that the wrap mode is disabled DALI_TEST_CHECK(manager.GetWrapMode() == false); @@ -1081,3 +1150,1210 @@ int UtcDaliAccessibilityManagerSignalFocusedActorActivated(void) END_TEST; } + +// Note: No negative test for GetReadPosition as it will always return something. +int UtcDaliAccessibilityManagerGetReadPositionP(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliAccessibilityManagerGetReadPositionP"); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + Vector2 readPosition( manager.GetReadPosition() ); + DALI_TEST_EQUALS( readPosition.x, 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( readPosition.y, 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + + END_TEST; +} + +// Functor to test if an accessibility signal has been called. +class AccessibilityManagerSignalHandler : public Dali::ConnectionTracker +{ +public: + AccessibilityManagerSignalHandler() : + mCalls( 0 ) + { + } + + bool Callback( AccessibilityManager& accessibilityManager ) + { + mCalls++; + tet_infoline( "Signal called" ); + return true; + } + + unsigned int GetCalls() const + { + return mCalls; + } + +private: + unsigned int mCalls; ///< Keeps track of how many times the signal has been called. +}; + +int UtcDaliAccessibilityManagerStatusChangedSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerStatusChangedSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.StatusChangedSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + // Cause a state change. + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionEnableEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerStatusChangedSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerStatusChangedSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.StatusChangedSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionNextSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionNextSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionNextEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionNextSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionNextSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPreviousSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPreviousSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionPreviousEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPreviousSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPreviousSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionActivateSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionActivateSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New(); + button.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + application.GetScene().Add(button); + manager.SetFocusOrder( button, 1 ); + manager.SetCurrentFocusActor( button ); + + manager.ActionActivateSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionActivateEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionActivateSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionActivateSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionActivateSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadEvent( 100.0f, 200.0f, true ); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadSignalN" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionOverSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionOverSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionOverSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + // Note that the ActionOverSignal is provoked by a read even when "allow read again" is set to false. + accessibilityAdaptor.HandleActionReadEvent( 100.0f, 200.0f, false ); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionOverSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionOverSignalN" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionOverSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadNextSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadNextSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadNextEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadNextSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadNextSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadPreviousSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadPreviousSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadPreviousEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadPreviousSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadPreviousSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionUpSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionUpSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true ); + accessibilityAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + DummyControl dummyControl = DummyControl::New(true); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + manager.SetFocusOrder( dummyControl, 1 ); + application.GetScene().Add( dummyControl ); + manager.SetCurrentFocusActor( dummyControl ); + + accessibilityAdaptor.HandleActionUpEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionUpSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionUpSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionDownSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionDownSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true ); + accessibilityAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New(); + button.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + application.GetScene().Add(button); + manager.SetFocusOrder( button, 1 ); + manager.SetCurrentFocusActor( button ); + + accessibilityAdaptor.HandleActionDownEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionDownSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionDownSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionClearFocusSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionClearFocusSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionClearFocusSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionClearFocusEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionClearFocusSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionClearFocusSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionClearFocusSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionBackSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionBackSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionBackSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionBackEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionBackSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionBackSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionBackSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionScrollUpSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollUpSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionScrollUpEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionScrollUpSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollUpSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionScrollDownSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollDownSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionScrollDownEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionScrollDownSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollDownSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageLeftSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageLeftSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageLeftSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionPageLeftEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageLeftSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageLeftSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageLeftSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageRightSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageRightSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageRightSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionPageRightEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageRightSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageRightSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageRightSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageUpSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageUpSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionPageUpEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageUpSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageUpSignalN" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageDownSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageDownSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionPageDownEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionPageDownSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionPageDownSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionPageDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionMoveToFirstSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionMoveToFirstSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionMoveToFirstSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionMoveToFirstEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + + +int UtcDaliAccessibilityManagerActionMoveToFirstSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionMoveToFirstSignalN" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionMoveToFirstSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionMoveToLastSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionMoveToLastSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionMoveToLastSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionMoveToLastEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionMoveToLastSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionMoveToLastSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionMoveToLastSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadFromTopSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadFromTopSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadFromTopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadFromTopEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadFromTopSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadFromTopSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadFromTopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadFromNextSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadFromNextSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadFromNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadFromNextEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadFromNextSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadFromNextSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadFromNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionZoomSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionZoomSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New(); + button.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + application.GetScene().Add(button); + manager.SetFocusOrder( button, 1 ); + manager.SetCurrentFocusActor( button ); + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + manager.ActionZoomSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionZoomEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionZoomSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionZoomSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionZoomSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadPauseResumeSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadPauseResumeSignalP" ); + + AccessibilityManagerSignalHandler callback; + + Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get(); + Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true ); + accAdaptor.HandleActionEnableEvent(); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadPauseResumeSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionReadPauseResumeEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionReadPauseResumeSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionReadPauseResumeSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionReadPauseResumeSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionStartStopSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionStartStopSignalP" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionStartStopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + accessibilityAdaptor.HandleActionStartStopEvent(); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionStartStopSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionStartStopSignalN" ); + + AccessibilityManagerSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionStartStopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback ); + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +// Functor to test if a accessibility scroll signal has been called. +class AccessibilityManagerScrollSignalHandler : public Dali::ConnectionTracker +{ +public: + AccessibilityManagerScrollSignalHandler() : + mCalls( 0 ) + { + } + + bool Callback( AccessibilityManager& accessibilityManager, const Dali::TouchEvent& touchEvent ) + { + mCalls++; + Dali::TouchEvent handle(touchEvent); // Ensure it's ref-counted + mTouchEvent = handle; + tet_infoline( "Signal called" ); + return true; + } + + unsigned int GetCalls() const + { + return mCalls; + } + + const Dali::TouchEvent& GetTouchEvent() const + { + return mTouchEvent; + } + +private: + unsigned int mCalls; ///< Keeps track of how many times the signal has been called. + Dali::TouchEvent mTouchEvent ; ///< Stores the last touch event received. +}; + +int UtcDaliAccessibilityManagerActionScrollSignalP(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollSignalP" ); + + AccessibilityManagerScrollSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollSignal().Connect( &callback, &AccessibilityManagerScrollSignalHandler::Callback ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + + TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f ); + accessibilityAdaptor.HandleActionScrollEvent( point, 0u ); + + DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION ); + + const TouchEvent& signalTouchEvent = callback.GetTouchEvent(); + DALI_TEST_EQUALS( signalTouchEvent.GetPointCount(), 1u, TEST_LOCATION ); + + + DALI_TEST_EQUALS( signalTouchEvent.GetState(0), PointState::STARTED, TEST_LOCATION ); + DALI_TEST_EQUALS( signalTouchEvent.GetScreenPosition(0).x, 100.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( signalTouchEvent.GetScreenPosition(0).y, 200.0f, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionScrollSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionScrollSignalN" ); + + AccessibilityManagerScrollSignalHandler callback; + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + manager.ActionScrollSignal().Connect( &callback, &AccessibilityManagerScrollSignalHandler::Callback ); + + DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliAccessibilityManagerActionTouch(void) +{ + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerActionTouch" ); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + + DummyControl dummyControl = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummyControl.GetImplementation()); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + manager.SetFocusOrder( dummyControl, 1 ); + application.GetScene().Add( dummyControl ); + manager.SetCurrentFocusActor( dummyControl ); + + TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f ); + accessibilityAdaptor.HandleActionTouchEvent( point, 0u ); + + DALI_TEST_CHECK( dummyImpl.onAccTouchedCalled ); + + END_TEST; +} + + +int UtcDaliAccessibilityManagerHandlePanGesture(void) +{ + // Pan gesture sent from adaptor to manager via AccessibilityGestureHandler + // Adaptor.SetGestureHandler is called in Initialize (check it's the toolkit version) + ToolkitTestApplication application; + tet_infoline( " UtcDaliAccessibilityManagerHandlePanGesture" ); + + AccessibilityManager manager = AccessibilityManager::Get(); + DALI_TEST_CHECK( manager ); + + Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get(); + DummyControl dummyControl = DummyControl::New(true); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2(480, 800) ); + application.GetScene().Add( dummyControl ); + + AccessibilityGestureEvent panGestureEvent(AccessibilityGestureEvent::Started); + panGestureEvent.previousPosition = Vector2(0.f, 0.f); + panGestureEvent.currentPosition = Vector2(100.f, 0.f); + panGestureEvent.timeDelta = 16; + panGestureEvent.numberOfTouches = 1; + + Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent ); + + panGestureEvent.state = AccessibilityGestureEvent::Continuing; + panGestureEvent.previousPosition = Vector2(100.f, 0.f); + panGestureEvent.currentPosition = Vector2(200.f, 0.f); + Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent ); + + panGestureEvent.state = AccessibilityGestureEvent::Finished; + panGestureEvent.previousPosition = Vector2(200.f, 0.f); + panGestureEvent.currentPosition = Vector2(300.f, 0.f); + Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent ); + + + END_TEST; +} + +// Methods missing coverage: +// IsActorFocusableFunction +// DoActivate +// SetFocusable +// TtsStateChanged