DALi Version 1.9.35
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-AccessibilityManager.cpp
index 7dfe82f..f0dcd1f 100644 (file)
@@ -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.
 #include <iostream>
 #include <stdlib.h>
 
-// Need to override adaptor classes for toolkit test harness, so include
-// test harness headers before dali headers.
-#include <dali-toolkit-test-suite-utils.h>
-
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h>
+
+#include <dali-toolkit-test-suite-utils.h>
+#include <toolkit-accessibility-adaptor.h>
+#include <dummy-control.h>
 
 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,1184 @@ 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, PointState::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 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