Move TouchPoint to Devel API
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-AccessibilityManager.cpp
index d5b9f42..ad275ca 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/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 <dali-toolkit/dali-toolkit.h>
+#include <dummy-control.h>
 
 using namespace Dali;
 using namespace Toolkit;
@@ -43,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
 {
@@ -138,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);
@@ -223,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);
@@ -297,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());
@@ -309,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);
 
@@ -331,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();
@@ -363,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();
@@ -375,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();
@@ -422,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();
@@ -489,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);
@@ -546,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);
@@ -625,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();
@@ -638,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();
@@ -659,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);
@@ -738,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();
@@ -751,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();
@@ -772,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());
@@ -813,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());
@@ -850,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();
@@ -956,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;
@@ -972,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());
@@ -1012,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);
@@ -1019,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);
@@ -1092,11 +1160,9 @@ int UtcDaliAccessibilityManagerGetReadPositionP(void)
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
-  Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
-  Vector2 position( 1.0f, 2.0f );
-  accessibilityAdaptor.MockSetReadPosition( position );
-
-  DALI_TEST_EQUALS( manager.GetReadPosition(), position, TEST_LOCATION );
+  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;
 }
@@ -1245,6 +1311,16 @@ int UtcDaliAccessibilityManagerActionActivateSignalP(void)
   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();
@@ -1278,6 +1354,10 @@ int UtcDaliAccessibilityManagerActionReadSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1298,6 +1378,10 @@ int UtcDaliAccessibilityManagerActionReadSignalN(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1314,6 +1398,10 @@ int UtcDaliAccessibilityManagerActionOverSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1335,6 +1423,10 @@ int UtcDaliAccessibilityManagerActionOverSignalN(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1423,12 +1515,21 @@ int UtcDaliAccessibilityManagerActionUpSignalP(void)
 
   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 );
 
-  Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+  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 );
@@ -1459,12 +1560,21 @@ int UtcDaliAccessibilityManagerActionDownSignalP(void)
 
   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::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+  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 );
@@ -1495,6 +1605,10 @@ int UtcDaliAccessibilityManagerActionClearFocusSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1531,6 +1645,10 @@ int UtcDaliAccessibilityManagerActionBackSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1567,6 +1685,10 @@ int UtcDaliAccessibilityManagerActionScrollUpSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1603,6 +1725,10 @@ int UtcDaliAccessibilityManagerActionScrollDownSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1639,6 +1765,10 @@ int UtcDaliAccessibilityManagerActionPageLeftSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1675,6 +1805,10 @@ int UtcDaliAccessibilityManagerActionPageRightSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1711,6 +1845,10 @@ int UtcDaliAccessibilityManagerActionPageUpSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1731,6 +1869,10 @@ int UtcDaliAccessibilityManagerActionPageUpSignalN(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1747,6 +1889,10 @@ int UtcDaliAccessibilityManagerActionPageDownSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1783,6 +1929,10 @@ int UtcDaliAccessibilityManagerActionMoveToFirstSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1796,6 +1946,7 @@ int UtcDaliAccessibilityManagerActionMoveToFirstSignalP(void)
   END_TEST;
 }
 
+
 int UtcDaliAccessibilityManagerActionMoveToFirstSignalN(void)
 {
   ToolkitTestApplication application;
@@ -1803,6 +1954,10 @@ int UtcDaliAccessibilityManagerActionMoveToFirstSignalN(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1819,6 +1974,10 @@ int UtcDaliAccessibilityManagerActionMoveToLastSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1855,6 +2014,10 @@ int UtcDaliAccessibilityManagerActionReadFromTopSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1891,6 +2054,10 @@ int UtcDaliAccessibilityManagerActionReadFromNextSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -1930,6 +2097,16 @@ int UtcDaliAccessibilityManagerActionZoomSignalP(void)
   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();
@@ -1956,42 +2133,6 @@ int UtcDaliAccessibilityManagerActionZoomSignalN(void)
   END_TEST;
 }
 
-int UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalP(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalP" );
-
-  AccessibilityManagerSignalHandler callback;
-
-  AccessibilityManager manager = AccessibilityManager::Get();
-  DALI_TEST_CHECK( manager );
-
-  manager.ActionReadIndicatorInformationSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
-
-  Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
-  accessibilityAdaptor.HandleActionReadIndicatorInformationEvent();
-
-  DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalN(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalN" );
-
-  AccessibilityManagerSignalHandler callback;
-
-  AccessibilityManager manager = AccessibilityManager::Get();
-  DALI_TEST_CHECK( manager );
-
-  manager.ActionReadIndicatorInformationSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
-  DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
-
-  END_TEST;
-}
-
 int UtcDaliAccessibilityManagerActionReadPauseResumeSignalP(void)
 {
   ToolkitTestApplication application;
@@ -1999,6 +2140,10 @@ int UtcDaliAccessibilityManagerActionReadPauseResumeSignalP(void)
 
   AccessibilityManagerSignalHandler callback;
 
+  Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+  Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+  accAdaptor.HandleActionEnableEvent();
+
   AccessibilityManager manager = AccessibilityManager::Get();
   DALI_TEST_CHECK( manager );
 
@@ -2076,7 +2221,8 @@ public:
   bool Callback( AccessibilityManager& accessibilityManager, const Dali::TouchEvent& touchEvent )
   {
     mCalls++;
-    mTouchEvent = touchEvent;
+    Dali::TouchEvent handle(touchEvent); // Ensure it's ref-counted
+    mTouchEvent = handle;
     tet_infoline( "Signal called" );
     return true;
   }
@@ -2093,7 +2239,7 @@ public:
 
 private:
   unsigned int mCalls;         ///< Keeps track of how many times the signal has been called.
-  Dali::TouchEvent mTouchEvent; ///< Stores the last touch event received.
+  Dali::TouchEvent mTouchEvent ; ///< Stores the last touch event received.
 };
 
 int UtcDaliAccessibilityManagerActionScrollSignalP(void)
@@ -2110,7 +2256,7 @@ int UtcDaliAccessibilityManagerActionScrollSignalP(void)
 
   Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
 
-  TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f );
+  TouchPoint point( 0, PointState::STARTED, 100.0f, 200.0f );
   accessibilityAdaptor.HandleActionScrollEvent( point, 0u );
 
   DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
@@ -2118,11 +2264,10 @@ int UtcDaliAccessibilityManagerActionScrollSignalP(void)
   const TouchEvent& signalTouchEvent = callback.GetTouchEvent();
   DALI_TEST_EQUALS( signalTouchEvent.GetPointCount(), 1u, TEST_LOCATION );
 
-  const TouchPoint& signalTouchPoint = signalTouchEvent.GetPoint( 0u );
 
-  DALI_TEST_EQUALS( signalTouchPoint.state, TouchPoint::Started, TEST_LOCATION );
-  DALI_TEST_EQUALS( signalTouchPoint.screen.x, 100.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( signalTouchPoint.screen.y, 200.0f, 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;
 }
@@ -2143,3 +2288,46 @@ int UtcDaliAccessibilityManagerActionScrollSignalN(void)
 
   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