[AT-SPI] Migrate Accessibility tests to dali-toolkit-internal 36/244636/22
authorArtur Świgoń <a.swigon@samsung.com>
Tue, 22 Sep 2020 13:27:06 +0000 (15:27 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Fri, 23 Oct 2020 13:07:00 +0000 (15:07 +0200)
Change-Id: I129a7bdf1673466b9657a9876f3e1e8afc5308a2

16 files changed:
automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h [deleted file]
automated-tests/src/dali-toolkit-accessibility/tct-dali-toolkit-accessibility-core.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Accessible.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls-BridgeUp.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Text.cpp [deleted file]
automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Value.cpp [deleted file]
automated-tests/src/dali-toolkit-internal/CMakeLists.txt
automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Text.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Value.cpp [new file with mode: 0644]

diff --git a/automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.cpp b/automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.cpp
deleted file mode 100644 (file)
index ea23826..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-#include <automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-namespace Dali {
-    namespace Accessibility {
-
-        using MethodType = TestDBusWrapper::MethodType;
-        using MessagePtr = DBusWrapper::MessagePtr;
-
-        void TestEnableSC(bool b) {
-            static bool firstTime = true;
-            if (b && firstTime) {
-                firstTime = false;
-                auto bridge = Accessibility::Bridge::GetCurrentBridge();
-                Dali::Stage stage = Dali::Stage::GetCurrent();
-                auto accessible = Accessibility::Accessible::Get( stage.GetRootLayer() );
-                bridge->SetApplicationChild( accessible );
-                bridge->SetApplicationName( "TestApp" );
-                bridge->Initialize();
-
-                static bool ScreenReaderEnabled = false;
-                static bool IsEnabled = false;
-
-                auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Status", "ScreenReaderEnabled", MethodType::Getter}] = [wr](const MessagePtr &m) -> MessagePtr {
-                    auto reply = wr->newReplyMessage(m);
-                    wr->Encode(reply, std::tuple<TestDBusWrapper::Variant<bool>>{ ScreenReaderEnabled });
-                    return reply;
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Status", "IsEnabled", MethodType::Getter}] = [wr](const MessagePtr &m) -> MessagePtr {
-                    auto reply = wr->newReplyMessage(m);
-                    wr->Encode(reply, std::tuple<TestDBusWrapper::Variant<bool>>{ IsEnabled });
-                    return reply;
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Bus", "GetAddress", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr {
-                    auto reply = wr->newReplyMessage(m);
-                    wr->Encode(reply, std::tuple<const char*>{ "bus" });
-                    return reply;
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible/root", "org.a11y.atspi.Socket", "Embed", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr {
-                    auto reply = wr->newReplyMessage(m);
-                    wr->Encode(reply, std::tuple<Address>{ {"bus", "root"} });
-                    return reply;
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "PropertyChange", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "StateChanged", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "BoundsChanged", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "ActiveDescendantChanged", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "TextChanged", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "TextCaretMoved", MethodType::Method}] =
-                [wr](const MessagePtr &m) -> MessagePtr {
-                    return wr->newReplyMessage(m);
-                };
-            }
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            wr->fromTestChangeProperty("/org/a11y/bus", "org.a11y.Status", "ScreenReaderEnabled", b);
-        }
-
-        std::vector<Address> TestGetChildren(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<std::vector<Address>>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetChildren", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetName(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto name = wr->fromTestGet<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "Name");
-            return name;
-        }
-
-        std::string TestGetDescription(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto description = wr->fromTestGet<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "Description");
-            return description;
-        }
-
-        uint32_t TestGetRole(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<uint32_t>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRole", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetRoleName(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRoleName", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        Address TestGetParent(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestGet< Address >(adr.GetPath(), "org.a11y.atspi.Accessible", "Parent");
-            return chs;
-        }
-
-        std::string TestGetLocalizedRoleName(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetLocalizedRoleName", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::array< uint32_t, 2 > TestGetStates(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<std::array< uint32_t, 2 >>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetState", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::unordered_map< std::string, std::string > TestGetAttributes(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall<std::unordered_map< std::string, std::string >>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetAttributes", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        bool TestDoGesture(const Address &adr, Dali::Accessibility::Gesture type, int32_t xBeg, int32_t xEnd, int32_t yBeg, int32_t yEnd, Dali::Accessibility::GestureState state, uint32_t eventTime)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Accessible", "DoGesture",
-                std::tuple< Dali::Accessibility::Gesture, int32_t, int32_t, int32_t, int32_t, Dali::Accessibility::GestureState, uint32_t >(type, xBeg, xEnd, yBeg, yEnd, state, eventTime ));
-            return std::move(std::get<0>(chs));
-        }
-
-        std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > TestGetRelationSet(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRelationSet", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        Address TestGetChildAtIndex(const Address &adr, int index)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< Address >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetChildAtIndex", std::tuple< int >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-        ComponentLayer TestGetLayer(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< Dali::Accessibility::ComponentLayer >(adr.GetPath(), "org.a11y.atspi.Component", "GetLayer", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        int TestGetIndexInParent(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< int >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetIndexInParent", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        bool TestGrabFocus(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "GrabFocus", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        bool TestGrabHighlight(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "GrabHighlight", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        bool TestClearHighlight(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "ClearHighlight", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::tuple< int32_t, int32_t, int32_t, int32_t > TestGetExtents(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::tuple< int32_t, int32_t, int32_t, int32_t > >(adr.GetPath(), "org.a11y.atspi.Component", "GetExtents", std::tuple<uint32_t>(0));
-            return std::move(std::get<0>(chs));
-        }
-
-        int TestGetMdiZOrder(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< int16_t >(adr.GetPath(), "org.a11y.atspi.Component", "GetMDIZOrder", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        double TestGetAlpha(const Address &adr)
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< double >(adr.GetPath(), "org.a11y.atspi.Component", "GetAlpha", std::tuple<>());
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetActionName( const Address &adr, size_t index )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetName", std::tuple< int32_t >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetLocalizedActionName( const Address &adr, size_t index )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetLocalizedName", std::tuple< int32_t >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-        size_t TestGetActionCount( const Address &adr )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto count = wr->fromTestGet< int32_t >(adr.GetPath(), "org.a11y.atspi.Action", "NActions");
-            return count;
-        }
-
-        bool TestDoAction ( const Address &adr, size_t index )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Action", "DoAction", std::tuple< int32_t >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-        bool TestDoAction ( const Address &adr, const std::string& name )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Action", "DoActionName", std::tuple< std::string >( name ));
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetActionKeyBinding ( const Address &adr, size_t index )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetKeyBinding", std::tuple< int32_t >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-        std::string TestGetActionDescription ( const Address &adr, size_t index )
-        {
-            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetDescription", std::tuple< int32_t >( index ));
-            return std::move(std::get<0>(chs));
-        }
-
-
-        void printTree(const Address &root, size_t depth)
-        {
-            auto name = TestGetName(root);
-            printf("%10s", root.GetPath().c_str());
-            for(unsigned int i = 0; i < depth; ++i) printf("  ");
-            printf("%s\n", name.c_str());
-            auto chs = TestGetChildren(root);
-            for(auto &c : chs)
-                printTree(c, depth + 1);
-        }
-
-        bool Find( const std::vector< std::string > &collection, const std::string &key)
-        {
-            for ( auto& it : collection)
-                if( it == key )
-                    return true;
-            return false;
-        }
-    }
-}
\ No newline at end of file
diff --git a/automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h b/automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h
deleted file mode 100644 (file)
index 8c3d201..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
-#define __DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
-
-#include <dali/devel-api/adaptor-framework/accessibility.h>
-
-
-namespace Dali {
-    namespace Accessibility {
-        void TestEnableSC(bool b);
-        std::vector<Address> TestGetChildren(const Address &adr);
-        std::string TestGetName(const Address &adr);
-        std::string TestGetDescription(const Address &adr);
-        uint32_t TestGetRole(const Address &adr);
-        std::string TestGetRoleName(const Address &adr);
-        Address TestGetParent(const Address &adr);
-        std::string TestGetLocalizedRoleName(const Address &adr);
-        std::array< uint32_t, 2 > TestGetStates(const Address &adr);
-        std::unordered_map< std::string, std::string > TestGetAttributes(const Address &adr);
-        bool TestDoGesture(const Address &adr, Dali::Accessibility::Gesture type, int32_t xBeg, int32_t xEnd, int32_t yBeg, int32_t yEnd, Dali::Accessibility::GestureState state, uint32_t eventTime);
-        std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > TestGetRelationSet(const Address &adr);
-        Address TestGetChildAtIndex(const Address &adr, int index);
-        ComponentLayer TestGetLayer(const Address &adr);
-        int TestGetIndexInParent(const Address &adr);
-        bool TestGrabFocus(const Address &adr);
-        bool TestGrabHighlight(const Address &adr);
-        bool TestClearHighlight(const Address &adr);
-        std::tuple< int32_t, int32_t, int32_t, int32_t > TestGetExtents(const Address &adr);
-        int TestGetMdiZOrder(const Address &adr);
-        double TestGetAlpha(const Address &adr);
-        void printTree(const Address &root, size_t depth = 0);
-        bool Find( const std::vector< std::string > &collection, const std::string &key);
-        std::string TestGetActionName( const Address &adr, size_t index );
-        std::string TestGetLocalizedActionName( const Address &adr, size_t index );
-        size_t TestGetActionCount( const Address &adr );
-        bool TestDoAction ( const Address &adr, size_t index );
-        bool TestDoAction ( const Address &adr, const std::string& name );
-        std::string TestGetActionKeyBinding ( const Address &adr, size_t index );
-        std::string TestGetActionDescription ( const Address &adr, size_t index );
-
-    }
-}
-
-#endif //__DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
diff --git a/automated-tests/src/dali-toolkit-accessibility/tct-dali-toolkit-accessibility-core.cpp b/automated-tests/src/dali-toolkit-accessibility/tct-dali-toolkit-accessibility-core.cpp
deleted file mode 100644 (file)
index 77c02c6..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-#include <stdlib.h>
-#include <test-harness.h>
-#include "tct-dali-toolkit-accessibility-core.h"
-
-int main(int argc, char * const argv[])
-{
-  int result = TestHarness::EXIT_STATUS_BAD_ARGUMENT;
-
-  const char* optString = "sf";
-  bool optRerunFailed(true);
-  bool optRunSerially(false);
-
-  int nextOpt = 0;
-  do
-  {
-    nextOpt = getopt( argc, argv, optString );
-    switch(nextOpt)
-    {
-      case 'f':
-        optRerunFailed = false;
-        break;
-      case 's':
-        optRunSerially = true;
-        break;
-      case '?':
-        TestHarness::Usage(argv[0]);
-        exit(TestHarness::EXIT_STATUS_BAD_ARGUMENT);
-        break;
-    }
-  } while( nextOpt != -1 );
-
-  if( optind == argc ) // no testcase name in argument list
-  {
-    if( optRunSerially )
-    {
-      result = TestHarness::RunAll( argv[0], tc_array );
-    }
-    else
-    {
-      result = TestHarness::RunAllInParallel( argv[0], tc_array, optRerunFailed );
-    }
-  }
-  else
-  {
-    // optind is index of next argument - interpret as testcase name
-    result = TestHarness::FindAndRunTestCase(tc_array, argv[optind]);
-  }
-  return result;
-}
diff --git a/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Accessible.cpp b/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Accessible.cpp
deleted file mode 100644 (file)
index 1d8ff59..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// 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.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/devel-api/adaptor-framework/accessibility.h>
-
-void utc_dali_toolkit_accessibility_accessible_startup(void)
-{
-  test_return_value = TET_UNDEF;
-}
-
-void utc_dali_toolkit_accessibility_accessible_cleanup(void)
-{
-  test_return_value = TET_PASS;
-}
-
-int utcDaliAccessibilityCheckBoxButtonGetStates(void)
-{
-  ToolkitTestApplication application;
-
-  auto check_box_button = Toolkit::CheckBoxButton::New();
-  auto q = Dali::Accessibility::Accessible::Get( check_box_button );
-  DALI_TEST_CHECK( q );
-  auto states = q->GetStates();
-  DALI_TEST_EQUALS( (int) states[ Dali::Accessibility::State::SELECTABLE ], (int) true, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityCheckLabelText(void)
-{
-  ToolkitTestApplication application;
-
-  auto check_box_button = Toolkit::CheckBoxButton::New();
-  check_box_button.SetLabelText( "button" );
-  auto q = Dali::Accessibility::Accessible::Get( check_box_button );
-  DALI_TEST_CHECK( q );
-  DALI_TEST_EQUALS( q->GetName(), "button", TEST_LOCATION );
-
-  END_TEST;
-}
diff --git a/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls-BridgeUp.cpp b/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls-BridgeUp.cpp
deleted file mode 100644 (file)
index d678d76..0000000
+++ /dev/null
@@ -1,843 +0,0 @@
-#include <dali-toolkit-test-suite-utils.h>
-#include <automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali/devel-api/adaptor-framework/accessibility.h>
-#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
-#include <dali/devel-api/actors/actor-devel.h>
-#include <cstdlib>
-
-using namespace Dali::Toolkit;
-
-using DBusWrapper = Dali::Accessibility::DBusWrapper;
-
-void utc_dali_accessibility_controls_bridge_up_startup(void)
-{
-  test_return_value = TET_UNDEF;
-}
-
-void utc_dali_accessibility_controls_bridge_up_cleanup(void)
-{
-  test_return_value = TET_PASS;
-  //DBusWrapper::Install({}) is a de-install
-  DBusWrapper::Install({});
-}
-
-namespace Dali {
-  namespace Accessibility {
-    std::ostream & operator<< (std::ostream & stream, const Address & address)
-    {
-      stream << address.ToString();
-      return stream;
-    }
-  }
-}
-
-int UtcDaliControlAccessibilityRaiseBridge(void)
-{
-  ToolkitTestApplication application;
-
-  DALI_TEST_CHECK(!Accessibility::IsUp());
-
-  Dali::Accessibility::TestEnableSC(true);
-
-  DALI_TEST_CHECK(Accessibility::IsUp());
-
-  // auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
-  // for(auto &a : wr->daliMethods) {
-  //   const char *mt;
-  //   if (std::get<3>(a.first) == MethodType::Method) mt = "MethodType::Method";
-  //   else if (std::get<3>(a.first) == MethodType::Getter) mt = "MethodType::Getter";
-  //   else if (std::get<3>(a.first) == MethodType::Setter) mt = "MethodType::Setter";
-  //   else assert(0);
-  //   printf("%s %s %s %s\n", std::get<0>(a.first).c_str(), std::get<1>(a.first).c_str(), std::get<2>(a.first).c_str(), mt);
-  // }
-
-  Dali::Accessibility::TestEnableSC(false);
-
-  DALI_TEST_CHECK(!Accessibility::IsUp());
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityName(void)
-{
-  ToolkitTestApplication application;
-
-  auto control = Control::New();
-  Stage::GetCurrent().Add( control );
-
-  auto q = Dali::Accessibility::Accessible::Get( control );
-  DALI_TEST_CHECK( q );
-
-  DALI_TEST_EQUALS( "" , q->GetName(), TEST_LOCATION );
-
-  control.SetProperty( DevelControl::Property::ACCESSIBILITY_NAME, "Accessibility_Name" );
-  DALI_TEST_EQUALS( "Accessibility_Name" , q->GetName(), TEST_LOCATION );
-  DALI_TEST_EQUALS( control.GetProperty( DevelControl::Property::ACCESSIBILITY_NAME ).Get< std::string >() , "Accessibility_Name", TEST_LOCATION );
-
-  control.AccessibilityGetNameSignal().Connect( [] (std::string &accessibility_name) {
-    accessibility_name = "Accessibility_Name_With_Callback"; } );
-
-  DALI_TEST_EQUALS( "Accessibility_Name_With_Callback" , q->GetName(), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC(true);
-
-  DALI_TEST_EQUALS( "Accessibility_Name_With_Callback" , TestGetName( q->GetAddress()), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityDescription(void)
-{
-  ToolkitTestApplication application;
-
-  auto control = Control::New();
-
-  auto q = Dali::Accessibility::Accessible::Get( control );
-  DALI_TEST_CHECK( q );
-
-  DALI_TEST_EQUALS( "" , q->GetDescription(), TEST_LOCATION );
-
-  control.SetProperty( Control::Property::ACCESSIBILITY_DESCRIPTION, "Accessibility_Description" );
-  DALI_TEST_EQUALS( "Accessibility_Description" , q->GetDescription(), TEST_LOCATION );
-
-  auto property = control.GetProperty( Control::Property::ACCESSIBILITY_DESCRIPTION ).Get<std::string>();
-  DALI_TEST_EQUALS( "Accessibility_Description", property, TEST_LOCATION );
-
-  control.AccessibilityGetDescriptionSignal().Connect( [] (std::string &accessibility_description) {
-    accessibility_description = "Accessibility_Description_With_Callback"; } );
-
-  DALI_TEST_EQUALS( "Accessibility_Description_With_Callback" , q->GetDescription(), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  DALI_TEST_EQUALS( "Accessibility_Description_With_Callback" , TestGetDescription( q->GetAddress()), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityRole(void)
-{
-  ToolkitTestApplication application;
-
-  auto control = Control::New();
-  auto role_unknown = Dali::Accessibility::Role::UNKNOWN;
-  auto role_pushbutton = Dali::Accessibility::Role::PUSH_BUTTON;
-
-  DALI_TEST_EQUALS( role_unknown,control.GetProperty( Control::Property::ACCESSIBILITY_ROLE ).Get< Dali::Accessibility::Role >(), TEST_LOCATION );
-
-  auto q = Dali::Accessibility::Accessible::Get( control );
-  DALI_TEST_EQUALS( role_unknown , q->GetRole(), TEST_LOCATION);
-  DALI_TEST_EQUALS( "unknown" , q->GetRoleName(), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-  DALI_TEST_CHECK( q );
-  DALI_TEST_EQUALS( static_cast< uint32_t >( role_unknown ), TestGetRole( q->GetAddress() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( "unknown" , TestGetRoleName( q->GetAddress() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( "unknown" , TestGetLocalizedRoleName( q->GetAddress() ), TEST_LOCATION );
-
-  control.SetProperty( Control::Property::ACCESSIBILITY_ROLE, role_pushbutton );
-
-  DALI_TEST_EQUALS( static_cast< uint32_t >( role_pushbutton ), TestGetRole( q->GetAddress() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( "push button" ,TestGetRoleName( q->GetAddress() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( "push button" , TestGetLocalizedRoleName( q->GetAddress() ), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  DALI_TEST_EQUALS( role_pushbutton , q->GetRole(), TEST_LOCATION);
-  DALI_TEST_EQUALS( "push button" , q->GetRoleName(), TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityState(void)
-{
-  ToolkitTestApplication application;
-
-  auto control = Control::New();
-  auto q = Dali::Accessibility::Accessible::Get( control );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
-  auto states = control.GetAccessibilityStates();
-  DALI_TEST_CHECK( states_by_bridge == states );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityModal(void)
-{
-  ToolkitTestApplication application;
-  auto control = TextSelectionPopup::New( NULL );
-  auto states = control.GetAccessibilityStates();
-
-  DALI_TEST_CHECK( states[ Dali::Accessibility::State::MODAL ] );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityHighlightable(void)
-{
-  ToolkitTestApplication application;
-  auto control = Control::New();
-
-  auto noneset = control.GetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE );
-  DALI_TEST_EQUALS( Property::NONE, noneset.GetType(), TEST_LOCATION );
-
-  auto q = Dali::Accessibility::Accessible::Get( control );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
-  DALI_TEST_CHECK( states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
-
-  control.SetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
-  DALI_TEST_EQUALS( Property::BOOLEAN, control.GetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType(), TEST_LOCATION );
-  DALI_TEST_EQUALS( true, control.GetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE ).Get< bool >(), TEST_LOCATION );
-
-  states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
-  DALI_TEST_CHECK( states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
-
-  control.SetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE, false );
-  DALI_TEST_EQUALS( Property::BOOLEAN, control.GetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType(), TEST_LOCATION );
-  DALI_TEST_EQUALS( false, control.GetProperty( Control::Property::ACCESSIBILITY_HIGHLIGHTABLE ).Get< bool >(), TEST_LOCATION );
-
-  states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
-  DALI_TEST_CHECK( !states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliControlAccessibilityHighlightBridgeUp(void)
-{
-  ToolkitTestApplication application;
-
-  auto controla = Control::New();
-  auto controlb = Control::New();
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto accessible_a = Dali::Accessibility::Accessible::Get( controla );
-  auto accessible_b = Dali::Accessibility::Accessible::Get( controlb );
-
-  auto a = dynamic_cast<Dali::Accessibility::Component*>( accessible_a );
-  auto b = dynamic_cast<Dali::Accessibility::Component*>( accessible_b );
-
-  auto states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  auto states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_EQUALS( true, controla.GrabAccessibilityHighlight(), TEST_LOCATION );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_EQUALS( true, controlb.GrabAccessibilityHighlight(), TEST_LOCATION );
-  DALI_TEST_EQUALS( true, controlb.GrabAccessibilityHighlight(), TEST_LOCATION );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_EQUALS( false, controla.ClearAccessibilityHighlight(), TEST_LOCATION );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_EQUALS( true, controlb.ClearAccessibilityHighlight(), TEST_LOCATION );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_CHECK( TestGrabHighlight( a -> GetAddress() ) );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_CHECK( TestGrabHighlight( b -> GetAddress() ) );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-  DALI_TEST_CHECK( TestClearHighlight( b -> GetAddress() ) );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
-
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityControlAttributes(void)
-{
-  ToolkitTestApplication application;
-  auto check_box_button = Toolkit::Control::New();
-
-  std::string value;
-
-
-  auto attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  auto attributes_map = attributes.GetMap();
-
-  auto position = attributes_map->Find( "access_key1" );
-  DALI_TEST_CHECK( !position );
-
-  check_box_button.AppendAccessibilityAttribute( "access_key1", "access_value1" );
-  attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  attributes_map = attributes.GetMap();
-
-  DALI_TEST_EQUALS( (attributes_map->Find( "access_key1" ))->Get<std::string>(), "access_value1", TEST_LOCATION );
-
-  check_box_button.AppendAccessibilityAttribute( "access_key2", "access_value2_a" );
-  attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  attributes_map = attributes.GetMap();
-
-  DALI_TEST_EQUALS( (attributes_map->Find( "access_key1" ))->Get<std::string>(), "access_value1", TEST_LOCATION );
-  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->Get<std::string>(), "access_value2_a", TEST_LOCATION );
-
-  check_box_button.AppendAccessibilityAttribute( "access_key2", "access_value2_b" );
-  attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  attributes_map = attributes.GetMap();
-
-  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->Get<std::string>(), "access_value2_b", TEST_LOCATION );
-
-  check_box_button.RemoveAccessibilityAttribute( "access_key2" );
-  attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  attributes_map = attributes.GetMap();
-
-  // In case when we are removing one of attributes the property is setting for NONE type.
-  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->GetType(), Property::NONE, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto ptr = Dali::Accessibility::Accessible::Get( check_box_button );
-  auto attribute_map_bridge = TestGetAttributes( ptr->GetAddress() );
-  auto counter = 0u;
-  for (auto i = 0u; i<attributes_map->Count();++i)
-    if((attributes_map->GetValue(i)).GetType() != Property::NONE )
-      ++counter;
-
-  DALI_TEST_EQUALS( counter, attribute_map_bridge.size(), TEST_LOCATION );
-
-  for (auto it : attribute_map_bridge)
-    DALI_TEST_EQUALS( (attributes_map->Find( it.first ))->Get<std::string>(), it.second, TEST_LOCATION );
-
-  check_box_button.ClearAccessibilityAttributes();
-  attributes = check_box_button.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  attributes_map = attributes.GetMap();
-
-  position = attributes_map->Find( "access_key1" );
-  DALI_TEST_CHECK( !position );
-
-  position = attributes_map->Find( "access_key2" );
-  DALI_TEST_CHECK( !position );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliControlReadingInfoType(void)
-{
-  ToolkitTestApplication application;
-  auto control = Control::New();
-
-  auto reading_info_type = control.GetAccessibilityReadingInfoType();
-  reading_info_type[Dali::Accessibility::ReadingInfoType::Description] = true;
-  reading_info_type[Dali::Accessibility::ReadingInfoType::State] = true;
-  reading_info_type[Dali::Accessibility::ReadingInfoType::Name] = true;
-  reading_info_type[Dali::Accessibility::ReadingInfoType::Role] = true;
-
-  control.SetAccessibilityReadingInfoType(reading_info_type);
-
-  auto q = control.GetProperty( Toolkit::Control::Property::ACCESSIBILITY_ATTRIBUTES );
-  auto z = q.GetMap();
-
-  DALI_TEST_EQUALS( (z->Find( "reading_info_type" ))->Get<std::string>(), "name|role|description|state", TEST_LOCATION );
-  reading_info_type = control.GetAccessibilityReadingInfoType();
-  for ( auto i = 0u; i < 4; ++i)
-    DALI_TEST_CHECK ( reading_info_type[ static_cast< Dali::Accessibility::ReadingInfoType >( i ) ]);
-
-  END_TEST;
-}
-
-int UtcDaliControlDoGesture(void)
-{
-  ToolkitTestApplication application;
-  auto control = Control::New();
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( control );
-  auto gesture_one = Dali::Accessibility::GestureInfo { Dali::Accessibility::Gesture::OneFingerFlickLeft, 600, 100, 500, 500, Dali::Accessibility::GestureState::Begin, 1000 };
-  auto gesture_two = Dali::Accessibility::GestureInfo { Dali::Accessibility::Gesture::OneFingerFlickRight, 600, 100, 500, 500, Dali::Accessibility::GestureState::Begin, 1000 };
-
-  DALI_TEST_CHECK( !accessible->DoGesture( gesture_one ) );
-  DALI_TEST_CHECK( !TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::OneFingerFlickLeft, 600, 100, 500, 500, Dali::Accessibility::GestureState::Begin, 1000 ) );
-
-  control.AccessibilityDoGestureSignal().Connect( [] ( std::pair< Dali::Accessibility::GestureInfo, bool > &gesture ) {
-  if ( gesture.first.type == Dali::Accessibility::Gesture::OneFingerFlickLeft )
-    gesture.second = true;
-  else
-    gesture.second = false;
-  } );
-
-  DALI_TEST_CHECK( accessible->DoGesture( gesture_one ) );
-  DALI_TEST_CHECK( TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::OneFingerFlickLeft, 600, 100, 500, 500, Dali::Accessibility::GestureState::Begin, 1000 ) );
-
-  DALI_TEST_CHECK( !accessible->DoGesture( gesture_two ) );
-  DALI_TEST_CHECK( !TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::OneFingerFlickRight, 600, 100, 500, 500, Dali::Accessibility::GestureState::Begin, 1000 ) );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityRelation(void)
-{
-  ToolkitTestApplication application;
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto rel = Accessibility::RelationType::FlowsTo;
-  auto number = static_cast< size_t >( rel );
-  auto control = Control::New();
-  auto destination1 = Control::New();
-  auto destination2 = Control::New();
-
-  control.AppendAccessibilityRelation( destination1, rel );
-  auto relations = control.GetAccessibilityRelations();
-  DALI_TEST_CHECK( relations[ number ].size() == 1 );
-
-  control.AppendAccessibilityRelation( destination2, rel );
-  relations = control.GetAccessibilityRelations();
-  DALI_TEST_CHECK( relations[ number ].size() == 2 );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( control );
-  auto accessible_destination1 = Dali::Accessibility::Accessible::Get( destination1 );
-  auto accessible_destination2 = Dali::Accessibility::Accessible::Get( destination2 );
-  auto relationset = accessible->GetRelationSet();
-
-  DALI_TEST_CHECK( relationset[0].relationType == rel );
-  DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination1->GetAddress() || relationset[0].targets[1] == accessible_destination1->GetAddress() );
-  DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination2->GetAddress() || relationset[0].targets[1] == accessible_destination2->GetAddress() );
-
-  auto relationset_bridge = TestGetRelationSet( accessible -> GetAddress() );
-  DALI_TEST_CHECK( static_cast< uint32_t >( relationset[0].relationType ) == std::get<0>( relationset_bridge[0] ) );
-
-  DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[0] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[0] );
-  DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[1] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[1] );
-
-  control.RemoveAccessibilityRelation(destination2,rel);
-  relations = control.GetAccessibilityRelations();
-  DALI_TEST_CHECK( relations[ number ].size() == 1 );
-
-  control.ClearAccessibilityRelations();
-  relations = control.GetAccessibilityRelations();
-  DALI_TEST_CHECK( relations[ number ].size() == 0 );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityParentChildren(void)
-{
-  ToolkitTestApplication application;
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto parent = Control::New();
-  auto child_1 = Control::New();
-  auto child_2 = Control::New();
-
-  auto parent_accessible = Dali::Accessibility::Accessible::Get( parent );
-  auto child_1_accessible = Dali::Accessibility::Accessible::Get( child_1 );
-  auto child_2_accessible = Dali::Accessibility::Accessible::Get( child_2 );
-
-  auto children = TestGetChildren( parent_accessible -> GetAddress() );
-  DALI_TEST_EQUALS( children.size(), 0, TEST_LOCATION );
-
-  try
-  {
-    TestGetIndexInParent( child_1_accessible -> GetAddress() );
-    DALI_ABORT("Object has parent, test abort");
-  }
-  catch(Accessibility::TestDBusWrapper::error){}
-
-  try
-  {
-    TestGetChildAtIndex( parent_accessible -> GetAddress(), -1 );
-    DALI_ABORT("Positive index, test abort");
-  }
-  catch(Accessibility::TestDBusWrapper::error){}
-
-  DALI_TEST_EQUALS( parent_accessible -> GetChildCount(), 0, TEST_LOCATION );
-
-  try
-  {
-    child_1_accessible -> GetIndexInParent();
-    DALI_ABORT("Object has parent, test abort");
-  }
-  catch (std::domain_error){}
-
-  parent.Add(child_1);
-  parent.Add(child_2);
-
-  children = TestGetChildren( parent_accessible -> GetAddress() );
-  DALI_TEST_EQUALS( children.size(), 2, TEST_LOCATION );
-
-  DALI_TEST_EQUALS( parent_accessible -> GetAddress(), TestGetParent( child_1_accessible -> GetAddress() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( child_2_accessible -> GetAddress(), TestGetChildAtIndex( parent_accessible -> GetAddress(), TestGetIndexInParent( child_2_accessible -> GetAddress() ) ), TEST_LOCATION );
-
-  DALI_TEST_EQUALS( parent_accessible,  child_1_accessible -> GetParent(), TEST_LOCATION );
-  DALI_TEST_EQUALS( child_2_accessible, parent_accessible -> GetChildAtIndex( child_2_accessible -> GetIndexInParent() ) , TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGetLayer(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto control = Control::New();
-  auto accessible_obj = Dali::Accessibility::Accessible::Get( control );
-  auto accessible_component = dynamic_cast<Dali::Accessibility::Component*>(accessible_obj);
-  DALI_TEST_CHECK( accessible_component );
-  DALI_TEST_EQUALS( Dali::Accessibility::ComponentLayer::Window, accessible_component -> GetLayer(), TEST_LOCATION );
-  DALI_TEST_EQUALS( Dali::Accessibility::ComponentLayer::Window, TestGetLayer( accessible_component -> GetAddress() ), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGrabFocus(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto controla = Control::New();
-  auto controlb = Control::New();
-
-  Stage::GetCurrent().Add( controla );
-  Stage::GetCurrent().Add( controlb );
-
-  controla.SetKeyboardFocusable( true );
-  controlb.SetKeyboardFocusable( true );
-
-  auto a = Dali::Accessibility::Accessible::Get( controla );
-  auto b = Dali::Accessibility::Accessible::Get( controlb );
-
-  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
-  auto b_component = dynamic_cast<Dali::Accessibility::Component*>( b );
-
-  auto states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
-  auto states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
-
-  DALI_TEST_CHECK( a_component -> GrabFocus() );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
-
-  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
-  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
-
-  DALI_TEST_CHECK( TestGrabFocus( b_component -> GetAddress() ) );
-
-  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
-  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
-
-  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
-  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGetExtents(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto control = Control::New();
-  Stage::GetCurrent().GetRootLayer().Add( control );
-
-  control.SetPosition(Vector3(10,10,100));
-  control.SetSize( Vector2( 10, 10 ) );
-
-  application.SendNotification();
-  application.Render( 1 );
-
-  auto a = Dali::Accessibility::Accessible::Get( control );
-  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
-
-  auto extents = a_component->GetExtents(Dali::Accessibility::CoordType::Screen);
-  DALI_TEST_EQUALS( extents.position.x, 5, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.position.y, 5, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.size.height, 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.size.width, 10, TEST_LOCATION );
-
-  auto bridge_extents = TestGetExtents( a_component -> GetAddress() );
-  DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 5, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 5, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION );
-
-  control.SetProperty( Dali::DevelActor::Property::POSITION_USES_ANCHOR_POINT, false );
-  application.SendNotification();
-  application.Render( 1 );
-
-  extents = a_component->GetExtents(Dali::Accessibility::CoordType::Screen);
-  DALI_TEST_EQUALS( extents.position.x, 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.position.y, 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.size.height, 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( extents.size.width, 10, TEST_LOCATION );
-
-  bridge_extents = TestGetExtents( a_component -> GetAddress() );
-  DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION );
-  DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGetAlpha(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto control = Control::New();
-  auto a = Dali::Accessibility::Accessible::Get( control );
-  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
-
-  DALI_TEST_EQUALS( 0.0, a_component -> GetAlpha(), TEST_LOCATION );
-  DALI_TEST_EQUALS( 0.0, TestGetAlpha( a_component -> GetAddress() ), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGetMdiZOrder(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto control = Control::New();
-  auto a = Dali::Accessibility::Accessible::Get( control );
-  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
-
-  DALI_TEST_EQUALS( 0, static_cast< int >( a_component -> GetMdiZOrder() ), TEST_LOCATION );
-  DALI_TEST_EQUALS( 0, TestGetMdiZOrder( a_component -> GetAddress() ), TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityAction(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto control = Control::New( );
-  auto a = Dali::Accessibility::Accessible::Get( control );
-  auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
-
-  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
-  auto count = b -> GetActionCount();
-
-  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
-
-  for (auto i = 0u; i<count; ++i)
-  {
-    DALI_TEST_CHECK( Dali::Accessibility::Find( actions, b -> GetActionName( i ) ) );
-    DALI_TEST_EQUALS( b -> GetActionName( i ), b -> GetLocalizedActionName( i ), TEST_LOCATION );
-    DALI_TEST_EQUALS( b -> GetActionDescription( i ), "", TEST_LOCATION );
-    DALI_TEST_EQUALS( b -> GetActionKeyBinding( i ), "", TEST_LOCATION );
-  }
-
-  try
-  {
-    b ->GetActionDescription( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetActionName( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetLocalizedActionName( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetActionKeyBinding( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  count = TestGetActionCount(b -> GetAddress());
-
-  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
-
-  for (auto i = 0u; i<count; ++i)
-  {
-    DALI_TEST_CHECK( Dali::Accessibility::Find( actions, TestGetActionName( b->GetAddress(), i ) ) );
-    DALI_TEST_EQUALS( TestGetActionName( b->GetAddress(), i ), TestGetLocalizedActionName( b->GetAddress(), i ), TEST_LOCATION );
-    DALI_TEST_EQUALS( TestGetActionDescription( b->GetAddress(), i ), "", TEST_LOCATION );
-    DALI_TEST_EQUALS( TestGetActionKeyBinding( b->GetAddress(), i ), "", TEST_LOCATION );
-  }
-
-  try
-  {
-    TestGetActionDescription( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetActionName( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetLocalizedActionName( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetActionKeyBinding( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityDoAction(void)
-{
-  ToolkitTestApplication application;
-
-  Dali::Accessibility::TestEnableSC( true );
-  thread_local std::vector< bool > actions_done { false, false, false, false };
-
-  auto control = Control::New(  );
-  auto a = Dali::Accessibility::Accessible::Get( control );
-  auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
-  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
-
-  DALI_TEST_CHECK( b -> DoAction( actions[2] ) );
-  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
-  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
-
-  control.AccessibilityReadingSkippedSignal().Connect( [] () {
-    actions_done[ 1 ] = true;
-  } );
-  control.AccessibilityReadingCancelledSignal().Connect( [] () {
-    actions_done[ 2 ] = true;
-  } );
-  control.AccessibilityReadingStoppedSignal().Connect( [] () {
-    actions_done[ 3 ] = true;
-  } );
-  control.AccessibilityActivateSignal().Connect( [] () {
-    actions_done[ 0 ] = true;
-  } );
-
-  DALI_TEST_CHECK( b -> DoAction( 1 ) );
-  DALI_TEST_CHECK( b -> DoAction( 2 ) );
-  DALI_TEST_CHECK( b -> DoAction( 3 ) );
-  DALI_TEST_CHECK( b -> DoAction( 4 ) );
-
-  for ( auto i = 0u; i < actions_done.size(); ++i )
-    {
-      DALI_TEST_CHECK( actions_done[ i ] );
-      actions_done[ i ] = false;
-    }
-
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 1 ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 2 ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 3 ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 4 ) );
-
-  for ( auto i = 0u; i < actions_done.size(); ++i )
-    {
-      DALI_TEST_CHECK( actions_done[ i ] );
-      actions_done[ i ] = false;
-    }
-
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 1 ] ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 2 ] ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 3 ] ) );
-  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 4 ] ) );
-
-  for ( auto i = 0u; i < actions_done.size(); ++i )
-      DALI_TEST_CHECK( actions_done[ i ] );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
diff --git a/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls.cpp b/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Controls.cpp
deleted file mode 100644 (file)
index bdfdc1b..0000000
+++ /dev/null
@@ -1,630 +0,0 @@
-#include <dali-toolkit-test-suite-utils.h>
-#include <automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-using namespace Dali::Toolkit;
-
-using DBusWrapper = Dali::Accessibility::DBusWrapper;
-
-void utc_dali_accessibility_controls_startup(void)
-{
-  test_return_value = TET_UNDEF;
-}
-
-void utc_dali_accessibility_controls_cleanup(void)
-{
-  test_return_value = TET_PASS;
-  //DBusWrapper::Install({}) is a de-install
-  DBusWrapper::Install({});
-}
-
-int UtcDaliControlPropertyAccessibilityTranslationDomain(void)
-{
-  ToolkitTestApplication application;
-
-  auto control = Control::New();
-
-  auto accessibility_translation_domain = Control::Property::ACCESSIBILITY_TRANSLATION_DOMAIN;
-  DALI_TEST_EQUALS( Property::NONE , control.GetProperty( accessibility_translation_domain ).GetType(), TEST_LOCATION );
-
-  control.SetProperty( accessibility_translation_domain, "translation_domain_test_1" );
-  DALI_TEST_EQUALS( "translation_domain_test_1" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
-
-  control.SetProperty( accessibility_translation_domain, "translation_domain_test_2" );
-  DALI_TEST_EQUALS( "translation_domain_test_2" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
-
-  END_TEST;
-}
-
-// This test shows that when the accessibility bridge is
-// not up, there is no possibility to grab or clear highlight
-int UtcDaliControlAccessibilityHighlight(void)
-{
-  ToolkitTestApplication application;
-  auto controla = Control::New();
-  auto controlb = Control::New();
-
-  DALI_TEST_EQUALS( false, controla.GrabAccessibilityHighlight(), TEST_LOCATION );
-  DALI_TEST_EQUALS( false, controlb.GrabAccessibilityHighlight(), TEST_LOCATION );
-  DALI_TEST_EQUALS( false, controla.ClearAccessibilityHighlight(), TEST_LOCATION );
-  DALI_TEST_EQUALS( false, controlb.ClearAccessibilityHighlight(), TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/devel-api/controls/tool-bar/tool-bar.h>
-int UtcDaliAccessibilityToolBarConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto toolbar = ToolBar::New();
-  DALI_TEST_CHECK( toolbar );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( toolbar );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToolBar, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityPushButtonConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto pushbutton = PushButton::New();
-  DALI_TEST_CHECK( pushbutton );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PushButton, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityPushButtonStates(void)
-{
-  ToolkitTestApplication application;
-
-  auto pushbutton = PushButton::New();
-  DALI_TEST_CHECK( pushbutton );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
-  DALI_TEST_CHECK( accessible );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Pressed ] ), false, TEST_LOCATION );
-
-  // auto button = dynamic_cast<Dali::Toolkit::Button* >( accessible ) ;
-  pushbutton.SetProperty( Toolkit::Button::Property::TOGGLABLE, true );
-  pushbutton.SetProperty( Toolkit::Button::Property::SELECTED, true );
-
-  states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Pressed ] ), true, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
-int UtcDaliAccessibilityToggleButtonConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto togglebutton = ToggleButton::New();
-  DALI_TEST_CHECK( togglebutton );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( togglebutton );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToggleButton, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
-int UtcDaliAccessibilityTextSelectionPopupConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto textselectionpopup = TextSelectionPopup::New( NULL );
-  DALI_TEST_CHECK( textselectionpopup );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( textselectionpopup );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Dialog, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityAlignmentConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto alignment = Alignment::New();
-  DALI_TEST_CHECK( alignment );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( alignment );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityRadioButtonStates(void)
-{
-  ToolkitTestApplication application;
-
-  auto radiobutton = RadioButton::New();
-  DALI_TEST_CHECK( radiobutton );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( radiobutton );
-  DALI_TEST_CHECK( accessible );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto states = accessible->GetStates();
-  DALI_TEST_CHECK( states );
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), false, TEST_LOCATION );
-  radiobutton.SetProperty( Toolkit::RadioButton::Property::SELECTED, true );
-  states = accessible->GetStates();
-  DALI_TEST_CHECK( states );
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), true, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityFlexContainerConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto flexcontainer = FlexContainer::New();
-  DALI_TEST_CHECK( flexcontainer );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( flexcontainer );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityCheckBoxButton(void)
-{
-  ToolkitTestApplication application;
-
-  auto checkboxbutton = CheckBoxButton::New();
-  DALI_TEST_CHECK( checkboxbutton );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( checkboxbutton );
-  DALI_TEST_CHECK( accessible );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  auto states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), false, TEST_LOCATION );
-  checkboxbutton.SetProperty( Toolkit::CheckBoxButton::Property::SELECTED, true );
-  states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), true, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/devel-api/controls/text-controls/text-selection-toolbar.h>
-int UtcDaliAccessibilityTextSelectionConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto textselectiontoolbar = TextSelectionToolbar::New();
-  DALI_TEST_CHECK( textselectiontoolbar );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( textselectiontoolbar );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToolBar, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
-int UtcDaliAccessibilityManager(void)
-{
-  ToolkitTestApplication application;
-
-  auto accessmanager = new Dali::Toolkit::Internal::AccessibilityManager;
-  auto actor = Dali::Actor::New();
-
-  auto str = accessmanager->GetAccessibilityAttribute( actor, Toolkit::AccessibilityManager::AccessibilityAttribute::ACCESSIBILITY_LABEL );
-  DALI_TEST_EQUALS( str, "", TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->GetFocusOrder( actor ), 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->GenerateNewFocusOrder(), 0, TEST_LOCATION );
-  accessmanager->GetActorByFocusOrder( 0 );
-  accessmanager->GetCurrentFocusActor();
-  accessmanager->GetCurrentFocusGroup();
-  DALI_TEST_EQUALS( accessmanager->GetCurrentFocusOrder(), 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->MoveFocusForward(), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->MoveFocusBackward(), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->IsFocusGroup( actor ), false, TEST_LOCATION );
-  accessmanager->GetFocusGroup( actor );
-  auto vector = accessmanager->GetReadPosition();
-  DALI_TEST_EQUALS( vector.x, 0.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( vector.y, 0.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->GetGroupMode(), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( accessmanager->GetWrapMode(), false, TEST_LOCATION );
-  accessmanager->GetFocusIndicatorActor();
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityModel3dViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto model3dview = Model3dView::New();
-  DALI_TEST_CHECK( model3dview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( model3dview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Image, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/effects-view/effects-view-impl.h>
-int UtcDaliAccessibilityEffectsViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto etype = Dali::Toolkit::EffectsView::EffectType::DROP_SHADOW;
-  auto effectsview = EffectsView::New( etype );
-  DALI_TEST_CHECK( effectsview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( effectsview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h>
-int UtcDaliAccessibilitySuperBlurViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto superblurview = SuperBlurView::New( 1 );
-  DALI_TEST_CHECK( superblurview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( superblurview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityImageViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto imageview = ImageView::New();
-  DALI_TEST_CHECK( imageview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( imageview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Image, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
-class TestPageFactory : public PageFactory
-{
-public:
-
-  TestPageFactory( bool returnValidTexture = true )
-  : mValidTexture( returnValidTexture )
-  {
-    mTotalPageNumber = 100;
-  }
-
-  /**
-   * Query the number of pages available from the factory.
-   * The maximum available page has an ID of GetNumberOfPages()-1.
-   */
-  virtual unsigned int GetNumberOfPages()
-  {
-    return mTotalPageNumber;
-  }
-
-  /**
-   * Create an texture to represent a page content.
-   * @param[in] pageId The ID of the page to create.
-   * @return An image, or an empty handle if the ID is out of range.
-   */
-  virtual Texture NewPage( unsigned int pageId )
-  {
-    if( mValidTexture )
-    {
-      return Texture::New( Dali::TextureType::TEXTURE_2D, Pixel::RGB888, 100, 100 );
-    }
-    return Texture(); // empty handle
-  }
-
-private:
-  unsigned int            mTotalPageNumber;
-  bool                    mValidTexture;
-};
-
-#include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
-int UtcDaliAccessibilityPageTurnViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto testpagefactory = TestPageFactory();
-  auto vector2 = Vector2( 1.0, 1.0 );
-  auto pageturnlandscapeview = PageTurnLandscapeView::New( testpagefactory, vector2 );
-  DALI_TEST_CHECK( pageturnlandscapeview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( pageturnlandscapeview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PageTabList, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityGaussianBlurViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto gaussianblurview = GaussianBlurView::New();
-  DALI_TEST_CHECK( gaussianblurview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( gaussianblurview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityShadowViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto shadowview = ShadowView::New();
-  DALI_TEST_CHECK( shadowview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( shadowview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
-int UtcDaliAccessibilityScrollableConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto scrollview = ScrollView::New();
-  DALI_TEST_CHECK( scrollview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( scrollview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ScrollPane, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
-int UtcDaliAccessibilityMagnifierConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto magnifier = Magnifier::New();
-  DALI_TEST_CHECK( magnifier );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( magnifier );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityTableViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto tableview = TableView::New( 10, 10 );
-  DALI_TEST_CHECK( tableview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( tableview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Table, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h>
-int UtcDaliAccessibilityBloomViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto bloomview = BloomView::New();
-  DALI_TEST_CHECK( bloomview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( bloomview );
-  DALI_TEST_CHECK( accessible );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Animation, TEST_LOCATION );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
-int UtcDaliAccessibilityTextField(void)
-{
-  ToolkitTestApplication application;
-
-  auto textfield = TextField::New();
-  DALI_TEST_CHECK( textfield );
-
-  textfield.SetName( "test" );
-  DALI_TEST_EQUALS( textfield.GetName(), "test", TEST_LOCATION );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( textfield );
-  DALI_TEST_CHECK( accessible );
-
-  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Entry, TEST_LOCATION );
-  auto states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Editable ] ), true, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  textfield.SetProperty( Toolkit::TextField::Property::TEXT, "test" );
-  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
-  DALI_TEST_CHECK( text );
-  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
-
-  auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
-  DALI_TEST_CHECK( editabletext );
-  DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
-
-  auto range = text->GetSelection( 1 );
-  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
-int UtcDaliAccessibilityTextEditor(void)
-{
-  ToolkitTestApplication application;
-
-  auto texteditor = TextEditor::New();
-  DALI_TEST_CHECK( texteditor );
-
-  texteditor.SetName( "test" );
-  DALI_TEST_EQUALS( texteditor.GetName(), "test", TEST_LOCATION );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( texteditor );
-  DALI_TEST_CHECK( accessible );
-
-  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Entry, TEST_LOCATION );
-  auto states = accessible->GetStates();
-  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Editable ] ), true, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  texteditor.SetProperty( Toolkit::TextEditor::Property::TEXT, "test" );
-  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
-  DALI_TEST_CHECK( text );
-  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
-
-  auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
-  DALI_TEST_CHECK( editabletext );
-  DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
-
-  auto range = text->GetSelection( 1 );
-  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityTextLabel(void)
-{
-  ToolkitTestApplication application;
-
-  auto textlabel = TextLabel::New();
-  DALI_TEST_CHECK( textlabel );
-
-  textlabel.SetName( "test" );
-  DALI_TEST_EQUALS( textlabel.GetName(), "test", TEST_LOCATION );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( textlabel );
-  DALI_TEST_CHECK( accessible );
-
-  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Label, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( true );
-
-  textlabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "test" );
-  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
-  DALI_TEST_CHECK( text );
-  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetText( 0, 4 ), "test", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetCaretOffset(0), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->GetCaretOffset(), 0, TEST_LOCATION );
-
-  auto range = text->GetSelection( 1 );
-  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
-
-  Dali::Accessibility::TestEnableSC( false );
-
-  END_TEST;
-}
-
-#include <dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h>
-int UtcDaliAccessibilityNavigationViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto navigationview = NavigationView::New();
-  DALI_TEST_CHECK( navigationview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( navigationview );
-  DALI_TEST_CHECK( accessible );
-
-  DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::FILLER, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int UtcDaliAccessibilityVideoViewConstructor(void)
-{
-  ToolkitTestApplication application;
-
-  auto videoview = VideoView::New();
-  DALI_TEST_CHECK( videoview );
-
-  auto accessible = Dali::Accessibility::Accessible::Get( videoview );
-  DALI_TEST_CHECK( accessible );
-
-  DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::VIDEO, TEST_LOCATION );
-
-  END_TEST;
-}
\ No newline at end of file
diff --git a/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Text.cpp b/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Text.cpp
deleted file mode 100644 (file)
index 72af462..0000000
+++ /dev/null
@@ -1,483 +0,0 @@
-/**
- * Copyright (c) 2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// 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.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/devel-api/adaptor-framework/accessibility.h>
-#include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
-
-void utc_dali_toolkit_accessibility_text_startup(void)
-{
-  test_return_value = TET_UNDEF;
-}
-
-void utc_dali_toolkit_accessibility_text_cleanup(void)
-{
-  test_return_value = TET_PASS;
-}
-
-int utcDaliAccessibilityTextEditorGetName(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  DALI_TEST_EQUALS( editor.GetName(), "", TEST_LOCATION );
-  editor.SetName("editor");
-  DALI_TEST_EQUALS( editor.GetName(), "editor", TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextEditorGetText(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  auto q = Dali::Accessibility::Accessible::Get( editor );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
-    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextEditorGetCharacterCount(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  auto q = Dali::Accessibility::Accessible::Get( editor );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "editor" );
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 6, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextEditorGetTextAtOffset(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  auto q = Dali::Accessibility::Accessible::Get( editor );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text editor test sentence" );
-    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::Character );
-    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
-
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextEditorGetSetSelection(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  auto q = Dali::Accessibility::Accessible::Get( editor );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-
-    x->SetSelection( 0, 4, 9 );
-    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
-    range = x->GetSelection( 0 );
-
-    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.content, "plary", TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextEditorRemoveSelection(void)
-{
-  ToolkitTestApplication application;
-
-  auto editor = Dali::Toolkit::TextEditor::New();
-  auto q = Dali::Accessibility::Accessible::Get( editor );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    x->SetSelection( 0, 4, 9 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    x->RemoveSelection( 0 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldGetName(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Toolkit::TextField::New();
-  DALI_TEST_EQUALS( field.GetName(), "", TEST_LOCATION );
-  field.SetName("field");
-  DALI_TEST_EQUALS( field.GetName(), "field", TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldGetText(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Dali::Toolkit::TextField::New();
-  auto q = Dali::Accessibility::Accessible::Get( field );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "exemplary_text" );
-    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldGetCharacterCount(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Dali::Toolkit::TextField::New();
-  auto q = Dali::Accessibility::Accessible::Get( field );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "field" );
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 5, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldGetTextAtOffset(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Dali::Toolkit::TextField::New();
-  auto q = Dali::Accessibility::Accessible::Get( field );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text editor test sentence" );
-    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::Character );
-    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
-
-    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldGetSetSelection(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Dali::Toolkit::TextField::New();
-  auto q = Dali::Accessibility::Accessible::Get( field );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-
-    x->SetSelection( 0, 4, 9 );
-    field.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
-    range = x->GetSelection( 0 );
-
-    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.content, "plary", TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextFieldRemoveSelection(void)
-{
-  ToolkitTestApplication application;
-
-  auto field = Dali::Toolkit::TextField::New();
-  auto q = Dali::Accessibility::Accessible::Get( field );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    x->SetSelection( 0, 4, 9 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    x->RemoveSelection( 0 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextLabelGetName(void)
-{
-  ToolkitTestApplication application;
-
-  auto label = Toolkit::TextLabel::New();
-  DALI_TEST_EQUALS( label.GetName(), "", TEST_LOCATION );
-  label.SetName("label");
-  DALI_TEST_EQUALS( label.GetName(), "label", TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextLabelGetText(void)
-{
-  ToolkitTestApplication application;
-
-  auto label = Dali::Toolkit::TextLabel::New();
-  auto q = Dali::Accessibility::Accessible::Get( label );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
-    label.SetProperty( Toolkit::TextField::Property::TEXT, "exemplary_text" );
-    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextLabelGetCharacterCount(void)
-{
-  ToolkitTestApplication application;
-
-  auto label = Dali::Toolkit::TextLabel::New();
-  auto q = Dali::Accessibility::Accessible::Get( label );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
-    label.SetProperty( Toolkit::TextField::Property::TEXT, "field" );
-    DALI_TEST_EQUALS( x->GetCharacterCount(), 5, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextLabelGetTextAtOffset(void)
-{
-  ToolkitTestApplication application;
-
-  auto label = Dali::Toolkit::TextLabel::New();
-  auto q = Dali::Accessibility::Accessible::Get( label );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text editor test sentence" );
-    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::Character );
-    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::Word );
-    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
-
-    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
-    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::Line );
-    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
-    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityTextLabelRemoveSelection( void )
-{
-  ToolkitTestApplication application;
-
-  auto label = Dali::Toolkit::TextLabel::New();
-  auto q = Dali::Accessibility::Accessible::Get( label );
-  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
-  DALI_TEST_CHECK( x );
-  if( x )
-  {
-    auto range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-
-    x->SetSelection( 0, 4, 9 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
-
-    x->RemoveSelection( 0 );
-    range = x->GetSelection( 0 );
-    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
-    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
-  }
-
-  END_TEST;
-}
diff --git a/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Value.cpp b/automated-tests/src/dali-toolkit-accessibility/utc-Dali-Accessibility-Value.cpp
deleted file mode 100644 (file)
index 479d8c2..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/**
- * Copyright (c) 2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// 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.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/devel-api/adaptor-framework/accessibility.h>
-
-using namespace Dali::Accessibility;
-
-void utc_dali_toolkit_accessibility_value_startup(void)
-{
-  test_return_value = TET_UNDEF;
-}
-
-void utc_dali_toolkit_accessibility_value_cleanup(void)
-{
-  test_return_value = TET_PASS;
-}
-
-int utcDaliAccessibilityProgressBarGetMinimum(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
-  auto q = Dali::Accessibility::Accessible::Get( progress_bar );
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityProgressBarGetMaximum(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
-  auto q = Dali::Accessibility::Accessible::Get( progress_bar );
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityProgressBarGetMinimumIncrement(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
-  auto q = Dali::Accessibility::Accessible::Get(progress_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMinimumIncrement(), 0.001, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityProgressBarGetSetCurrent(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
-  auto q = Dali::Accessibility::Accessible::Get(progress_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityScrollBarGetMinimum(void)
-{
-  ToolkitTestApplication application;
-
-  // Create a source actor that owns the scroll properties required by the scroll bar
-  Actor sourceActor = Actor::New();
-  Stage::GetCurrent().Add( sourceActor );
-
-  // Register the scroll properties
-  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
-  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   10.0f );
-  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
-  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
-
-  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
-
-  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
-
-  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMinimum(), 10.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityScrollBarGetMaximum(void)
-{
-  ToolkitTestApplication application;
-
-  // Create a source actor that owns the scroll properties required by the scroll bar
-  Actor sourceActor = Actor::New();
-  Stage::GetCurrent().Add( sourceActor );
-
-  // Register the scroll properties
-  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
-  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
-  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
-  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
-
-  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
-
-  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
-
-  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMaximum(), 100.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityScrollBarGetMinimumIncrement(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
-  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMinimumIncrement(), 1.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilityScrollBarGetSetCurrent(void)
-{
-  ToolkitTestApplication application;
-
-  // Create a source actor that owns the scroll properties required by the scroll bar
-  Actor sourceActor = Actor::New();
-  Stage::GetCurrent().Add( sourceActor );
-
-  // Register the scroll properties
-  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
-  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
-  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
-  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
-
-  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
-
-  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
-
-  //sourceActor.SetProperty(propertyScrollPosition, 20.0f);
-
-  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 1000.0 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 50.0 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilitySliderGetMinimum(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Slider slider = Toolkit::Slider::New();
-  auto q = Dali::Accessibility::Accessible::Get(slider);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilitySliderGetMaximum(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Slider slider = Toolkit::Slider::New();
-  auto q = Dali::Accessibility::Accessible::Get(slider);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilitySliderGetMinimumIncrement(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Slider slider = Toolkit::Slider::New();
-  auto q = Dali::Accessibility::Accessible::Get(slider);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS<float>( x->GetMinimumIncrement(), 0.05, TEST_LOCATION );
-
-  END_TEST;
-}
-
-int utcDaliAccessibilitySliderGetSetCurrent(void)
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Slider slider = Toolkit::Slider::New();
-  auto q = Dali::Accessibility::Accessible::Get(slider);
-  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
-  DALI_TEST_CHECK( x );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
-  DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
-
-  END_TEST;
-}
index 59cddc82e66417f919240cb3e3c7b4efc73d73ea..b7fb71a3401f74d2d3d4931a12eae39e395ec372 100755 (executable)
@@ -8,6 +8,11 @@ SET(CAPI_LIB "dali-toolkit-internal")
 # List of test case sources (Only these get parsed for test cases)
 SET(TC_SOURCES
  utc-Dali-AddOns.cpp
+ utc-Dali-Accessibility-Accessible.cpp
+ utc-Dali-Accessibility-Controls.cpp
+ utc-Dali-Accessibility-Controls-BridgeUp.cpp
+ utc-Dali-Accessibility-Text.cpp
+ utc-Dali-Accessibility-Value.cpp
  utc-Dali-BidirectionalSupport.cpp
  utc-Dali-ColorConversion.cpp
  utc-Dali-Control-internal.cpp
@@ -76,6 +81,7 @@ LIST(APPEND TC_SOURCES
    dali-toolkit-test-utils/toolkit-text-utils.cpp
    dali-toolkit-test-utils/dummy-visual.cpp
    dali-toolkit-test-utils/test-addon-manager.cpp
+   dali-toolkit-test-utils/accessibility-test-utils.cpp
 )
 
 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
diff --git a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.cpp
new file mode 100644 (file)
index 0000000..39433b4
--- /dev/null
@@ -0,0 +1,285 @@
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h>
+#include <dali-toolkit-test-suite-utils.h>
+
+namespace Dali {
+    namespace Accessibility {
+
+        using MethodType = TestDBusWrapper::MethodType;
+        using MessagePtr = DBusWrapper::MessagePtr;
+
+        void TestEnableSC(bool b) {
+            static bool firstTime = true;
+            if (b && firstTime) {
+                firstTime = false;
+                auto bridge = Accessibility::Bridge::GetCurrentBridge();
+                Dali::Stage stage = Dali::Stage::GetCurrent();
+                auto accessible = Accessibility::Accessible::Get( stage.GetRootLayer() );
+                bridge->SetApplicationChild( accessible );
+                bridge->SetApplicationName( "TestApp" );
+                bridge->Initialize();
+
+                static bool ScreenReaderEnabled = false;
+                static bool IsEnabled = false;
+
+                auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Status", "ScreenReaderEnabled", MethodType::Getter}] = [wr](const MessagePtr &m) -> MessagePtr {
+                    auto reply = wr->newReplyMessage(m);
+                    wr->Encode(reply, std::tuple<TestDBusWrapper::Variant<bool>>{ ScreenReaderEnabled });
+                    return reply;
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Status", "IsEnabled", MethodType::Getter}] = [wr](const MessagePtr &m) -> MessagePtr {
+                    auto reply = wr->newReplyMessage(m);
+                    wr->Encode(reply, std::tuple<TestDBusWrapper::Variant<bool>>{ IsEnabled });
+                    return reply;
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/bus", "org.a11y.Bus", "GetAddress", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr {
+                    auto reply = wr->newReplyMessage(m);
+                    wr->Encode(reply, std::tuple<const char*>{ "bus" });
+                    return reply;
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible/root", "org.a11y.atspi.Socket", "Embed", MethodType::Method}] = [wr](const MessagePtr &m) -> MessagePtr {
+                    auto reply = wr->newReplyMessage(m);
+                    wr->Encode(reply, std::tuple<Address>{ {"bus", "root"} });
+                    return reply;
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "PropertyChange", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "StateChanged", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "BoundsChanged", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "ActiveDescendantChanged", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "TextChanged", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+                wr->testMethods[std::tuple<std::string, std::string, std::string, MethodType>{"/org/a11y/atspi/accessible", "org.a11y.atspi.Event.Object", "TextCaretMoved", MethodType::Method}] =
+                [wr](const MessagePtr &m) -> MessagePtr {
+                    return wr->newReplyMessage(m);
+                };
+            }
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            wr->fromTestChangeProperty("/org/a11y/bus", "org.a11y.Status", "ScreenReaderEnabled", b);
+        }
+
+        std::vector<Address> TestGetChildren(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<std::vector<Address>>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetChildren", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetName(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto name = wr->fromTestGet<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "Name");
+            return name;
+        }
+
+        std::string TestGetDescription(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto description = wr->fromTestGet<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "Description");
+            return description;
+        }
+
+        uint32_t TestGetRole(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<uint32_t>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRole", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetRoleName(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRoleName", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        Address TestGetParent(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestGet< Address >(adr.GetPath(), "org.a11y.atspi.Accessible", "Parent");
+            return chs;
+        }
+
+        std::string TestGetLocalizedRoleName(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<std::string>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetLocalizedRoleName", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::array< uint32_t, 2 > TestGetStates(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<std::array< uint32_t, 2 >>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetState", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::unordered_map< std::string, std::string > TestGetAttributes(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall<std::unordered_map< std::string, std::string >>(adr.GetPath(), "org.a11y.atspi.Accessible", "GetAttributes", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        bool TestDoGesture(const Address &adr, Dali::Accessibility::Gesture type, int32_t xBeg, int32_t xEnd, int32_t yBeg, int32_t yEnd, Dali::Accessibility::GestureState state, uint32_t eventTime)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Accessible", "DoGesture",
+                std::tuple< Dali::Accessibility::Gesture, int32_t, int32_t, int32_t, int32_t, Dali::Accessibility::GestureState, uint32_t >(type, xBeg, xEnd, yBeg, yEnd, state, eventTime ));
+            return std::move(std::get<0>(chs));
+        }
+
+        std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > TestGetRelationSet(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetRelationSet", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        Address TestGetChildAtIndex(const Address &adr, int index)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< Address >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetChildAtIndex", std::tuple< int >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+        ComponentLayer TestGetLayer(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< Dali::Accessibility::ComponentLayer >(adr.GetPath(), "org.a11y.atspi.Component", "GetLayer", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        int TestGetIndexInParent(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< int >(adr.GetPath(), "org.a11y.atspi.Accessible", "GetIndexInParent", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        bool TestGrabFocus(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "GrabFocus", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        bool TestGrabHighlight(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "GrabHighlight", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        bool TestClearHighlight(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Component", "ClearHighlight", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::tuple< int32_t, int32_t, int32_t, int32_t > TestGetExtents(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::tuple< int32_t, int32_t, int32_t, int32_t > >(adr.GetPath(), "org.a11y.atspi.Component", "GetExtents", std::tuple<uint32_t>(0));
+            return std::move(std::get<0>(chs));
+        }
+
+        int TestGetMdiZOrder(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< int16_t >(adr.GetPath(), "org.a11y.atspi.Component", "GetMDIZOrder", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        double TestGetAlpha(const Address &adr)
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< double >(adr.GetPath(), "org.a11y.atspi.Component", "GetAlpha", std::tuple<>());
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetActionName( const Address &adr, size_t index )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetName", std::tuple< int32_t >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetLocalizedActionName( const Address &adr, size_t index )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetLocalizedName", std::tuple< int32_t >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+        size_t TestGetActionCount( const Address &adr )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto count = wr->fromTestGet< int32_t >(adr.GetPath(), "org.a11y.atspi.Action", "NActions");
+            return count;
+        }
+
+        bool TestDoAction ( const Address &adr, size_t index )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Action", "DoAction", std::tuple< int32_t >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+        bool TestDoAction ( const Address &adr, const std::string& name )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< bool >(adr.GetPath(), "org.a11y.atspi.Action", "DoActionName", std::tuple< std::string >( name ));
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetActionKeyBinding ( const Address &adr, size_t index )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetKeyBinding", std::tuple< int32_t >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+        std::string TestGetActionDescription ( const Address &adr, size_t index )
+        {
+            auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+            auto chs = wr->fromTestCall< std::string >(adr.GetPath(), "org.a11y.atspi.Action", "GetDescription", std::tuple< int32_t >( index ));
+            return std::move(std::get<0>(chs));
+        }
+
+
+        void printTree(const Address &root, size_t depth)
+        {
+            auto name = TestGetName(root);
+            printf("%10s", root.GetPath().c_str());
+            for(unsigned int i = 0; i < depth; ++i) printf("  ");
+            printf("%s\n", name.c_str());
+            auto chs = TestGetChildren(root);
+            for(auto &c : chs)
+                printTree(c, depth + 1);
+        }
+
+        bool Find( const std::vector< std::string > &collection, const std::string &key)
+        {
+            for ( auto& it : collection)
+                if( it == key )
+                    return true;
+            return false;
+        }
+    }
+}
diff --git a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h
new file mode 100644 (file)
index 0000000..8c3d201
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef __DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
+#define __DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
+
+#include <dali/devel-api/adaptor-framework/accessibility.h>
+
+
+namespace Dali {
+    namespace Accessibility {
+        void TestEnableSC(bool b);
+        std::vector<Address> TestGetChildren(const Address &adr);
+        std::string TestGetName(const Address &adr);
+        std::string TestGetDescription(const Address &adr);
+        uint32_t TestGetRole(const Address &adr);
+        std::string TestGetRoleName(const Address &adr);
+        Address TestGetParent(const Address &adr);
+        std::string TestGetLocalizedRoleName(const Address &adr);
+        std::array< uint32_t, 2 > TestGetStates(const Address &adr);
+        std::unordered_map< std::string, std::string > TestGetAttributes(const Address &adr);
+        bool TestDoGesture(const Address &adr, Dali::Accessibility::Gesture type, int32_t xBeg, int32_t xEnd, int32_t yBeg, int32_t yEnd, Dali::Accessibility::GestureState state, uint32_t eventTime);
+        std::vector< std::tuple< uint32_t, std::vector< Dali::Accessibility::Address > > > TestGetRelationSet(const Address &adr);
+        Address TestGetChildAtIndex(const Address &adr, int index);
+        ComponentLayer TestGetLayer(const Address &adr);
+        int TestGetIndexInParent(const Address &adr);
+        bool TestGrabFocus(const Address &adr);
+        bool TestGrabHighlight(const Address &adr);
+        bool TestClearHighlight(const Address &adr);
+        std::tuple< int32_t, int32_t, int32_t, int32_t > TestGetExtents(const Address &adr);
+        int TestGetMdiZOrder(const Address &adr);
+        double TestGetAlpha(const Address &adr);
+        void printTree(const Address &root, size_t depth = 0);
+        bool Find( const std::vector< std::string > &collection, const std::string &key);
+        std::string TestGetActionName( const Address &adr, size_t index );
+        std::string TestGetLocalizedActionName( const Address &adr, size_t index );
+        size_t TestGetActionCount( const Address &adr );
+        bool TestDoAction ( const Address &adr, size_t index );
+        bool TestDoAction ( const Address &adr, const std::string& name );
+        std::string TestGetActionKeyBinding ( const Address &adr, size_t index );
+        std::string TestGetActionDescription ( const Address &adr, size_t index );
+
+    }
+}
+
+#endif //__DALI_TOOLKIT_ACCESSIBILITY_TEST_UTILS__
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp
new file mode 100644 (file)
index 0000000..9c4f611
--- /dev/null
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2017 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// 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.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali/devel-api/adaptor-framework/accessibility.h>
+#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+
+void utc_dali_toolkit_accessibility_accessible_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void utc_dali_toolkit_accessibility_accessible_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int utcDaliAccessibilityCheckBoxButtonGetStates(void)
+{
+  ToolkitTestApplication application;
+
+  auto check_box_button = Toolkit::CheckBoxButton::New();
+  auto q = Dali::Accessibility::Accessible::Get( check_box_button );
+  DALI_TEST_CHECK( q );
+  auto states = q->GetStates();
+  DALI_TEST_EQUALS( (int) states[ Dali::Accessibility::State::SELECTABLE ], (int) true, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityCheckLabelText(void)
+{
+  ToolkitTestApplication application;
+
+  auto check_box_button = Toolkit::CheckBoxButton::New();
+  //check_box_button.SetLabelText( "button" );
+  check_box_button.SetProperty(Toolkit::Button::Property::LABEL, "button");
+  auto q = Dali::Accessibility::Accessible::Get( check_box_button );
+  DALI_TEST_CHECK( q );
+  DALI_TEST_EQUALS( q->GetName(), "button", TEST_LOCATION );
+
+  END_TEST;
+}
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp
new file mode 100644 (file)
index 0000000..caddd7d
--- /dev/null
@@ -0,0 +1,848 @@
+#include <dali-toolkit-test-suite-utils.h>
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h>
+#include <dali-toolkit/dali-toolkit.h>
+#include <dali/devel-api/adaptor-framework/accessibility.h>
+#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
+#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
+#include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/common/stage.h>
+#include <cstdlib>
+
+using namespace Dali::Toolkit;
+
+//using DBusWrapper = Dali::Accessibility::DBusWrapper; // FIXME
+
+namespace Dali::Accessibility::TestDBusWrapper { struct error {}; } // FIXME
+
+void utc_dali_accessibility_controls_bridge_up_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void utc_dali_accessibility_controls_bridge_up_cleanup(void)
+{
+  test_return_value = TET_PASS;
+  //DBusWrapper::Install({}) is a de-install
+  //DBusWrapper::Install({}); // FIXME
+}
+
+namespace Dali {
+  namespace Accessibility {
+    std::ostream & operator<< (std::ostream & stream, const Address & address)
+    {
+      stream << address.ToString();
+      return stream;
+    }
+  }
+}
+
+int UtcDaliControlAccessibilityRaiseBridge(void)
+{
+  ToolkitTestApplication application;
+
+  DALI_TEST_CHECK(!Accessibility::IsUp());
+
+  Dali::Accessibility::TestEnableSC(true);
+
+  DALI_TEST_CHECK(Accessibility::IsUp());
+
+  // auto wr = static_cast<TestDBusWrapper*>(DBusWrapper::Installed());
+  // for(auto &a : wr->daliMethods) {
+  //   const char *mt;
+  //   if (std::get<3>(a.first) == MethodType::Method) mt = "MethodType::Method";
+  //   else if (std::get<3>(a.first) == MethodType::Getter) mt = "MethodType::Getter";
+  //   else if (std::get<3>(a.first) == MethodType::Setter) mt = "MethodType::Setter";
+  //   else assert(0);
+  //   printf("%s %s %s %s\n", std::get<0>(a.first).c_str(), std::get<1>(a.first).c_str(), std::get<2>(a.first).c_str(), mt);
+  // }
+
+  Dali::Accessibility::TestEnableSC(false);
+
+  DALI_TEST_CHECK(!Accessibility::IsUp());
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityName(void)
+{
+  ToolkitTestApplication application;
+
+  auto control = Control::New();
+  Stage::GetCurrent().Add( control );
+
+  auto q = Dali::Accessibility::Accessible::Get( control );
+  DALI_TEST_CHECK( q );
+
+  DALI_TEST_EQUALS( "" , q->GetName(), TEST_LOCATION );
+
+  control.SetProperty( DevelControl::Property::ACCESSIBILITY_NAME, "Accessibility_Name" );
+  DALI_TEST_EQUALS( "Accessibility_Name" , q->GetName(), TEST_LOCATION );
+  DALI_TEST_EQUALS( control.GetProperty( DevelControl::Property::ACCESSIBILITY_NAME ).Get< std::string >() , "Accessibility_Name", TEST_LOCATION );
+
+  DevelControl::AccessibilityGetNameSignal(control).Connect( [] (std::string &accessibility_name) {
+    accessibility_name = "Accessibility_Name_With_Callback"; } );
+
+  DALI_TEST_EQUALS( "Accessibility_Name_With_Callback" , q->GetName(), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC(true);
+
+  DALI_TEST_EQUALS( "Accessibility_Name_With_Callback" , TestGetName( q->GetAddress()), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityDescription(void)
+{
+  ToolkitTestApplication application;
+
+  auto control = Control::New();
+
+  auto q = Dali::Accessibility::Accessible::Get( control );
+  DALI_TEST_CHECK( q );
+
+  DALI_TEST_EQUALS( "" , q->GetDescription(), TEST_LOCATION );
+
+  control.SetProperty( DevelControl::Property::ACCESSIBILITY_DESCRIPTION, "Accessibility_Description" );
+  DALI_TEST_EQUALS( "Accessibility_Description" , q->GetDescription(), TEST_LOCATION );
+
+  auto property = control.GetProperty( DevelControl::Property::ACCESSIBILITY_DESCRIPTION ).Get<std::string>();
+  DALI_TEST_EQUALS( "Accessibility_Description", property, TEST_LOCATION );
+
+  DevelControl::AccessibilityGetDescriptionSignal(control).Connect( [] (std::string &accessibility_description) {
+    accessibility_description = "Accessibility_Description_With_Callback"; } );
+
+  DALI_TEST_EQUALS( "Accessibility_Description_With_Callback" , q->GetDescription(), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  DALI_TEST_EQUALS( "Accessibility_Description_With_Callback" , TestGetDescription( q->GetAddress()), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityRole(void)
+{
+  ToolkitTestApplication application;
+
+  auto control = Control::New();
+  auto role_unknown = Dali::Accessibility::Role::UNKNOWN;
+  auto role_pushbutton = Dali::Accessibility::Role::PUSH_BUTTON;
+
+  DALI_TEST_EQUALS( role_unknown,control.GetProperty( DevelControl::Property::ACCESSIBILITY_ROLE ).Get< Dali::Accessibility::Role >(), TEST_LOCATION );
+
+  auto q = Dali::Accessibility::Accessible::Get( control );
+  DALI_TEST_EQUALS( role_unknown , q->GetRole(), TEST_LOCATION);
+  DALI_TEST_EQUALS( "unknown" , q->GetRoleName(), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+  DALI_TEST_CHECK( q );
+  DALI_TEST_EQUALS( static_cast< uint32_t >( role_unknown ), TestGetRole( q->GetAddress() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( "unknown" , TestGetRoleName( q->GetAddress() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( "unknown" , TestGetLocalizedRoleName( q->GetAddress() ), TEST_LOCATION );
+
+  control.SetProperty( DevelControl::Property::ACCESSIBILITY_ROLE, role_pushbutton );
+
+  DALI_TEST_EQUALS( static_cast< uint32_t >( role_pushbutton ), TestGetRole( q->GetAddress() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( "push button" ,TestGetRoleName( q->GetAddress() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( "push button" , TestGetLocalizedRoleName( q->GetAddress() ), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  DALI_TEST_EQUALS( role_pushbutton , q->GetRole(), TEST_LOCATION);
+  DALI_TEST_EQUALS( "push button" , q->GetRoleName(), TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityState(void)
+{
+  ToolkitTestApplication application;
+
+  auto control = Control::New();
+  auto q = Dali::Accessibility::Accessible::Get( control );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
+  auto states = DevelControl::GetAccessibilityStates(control);
+  DALI_TEST_CHECK( states_by_bridge == states );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityModal(void)
+{
+  ToolkitTestApplication application;
+  auto control = TextSelectionPopup::New( NULL );
+  auto states = DevelControl::GetAccessibilityStates(control);
+
+  DALI_TEST_CHECK( states[ Dali::Accessibility::State::MODAL ] );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityHighlightable(void)
+{
+  ToolkitTestApplication application;
+  auto control = Control::New();
+
+  auto noneset = control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE );
+  DALI_TEST_EQUALS( Property::NONE, noneset.GetType(), TEST_LOCATION );
+
+  auto q = Dali::Accessibility::Accessible::Get( control );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
+  DALI_TEST_CHECK( states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
+
+  control.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
+  DALI_TEST_EQUALS( Property::BOOLEAN, control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType(), TEST_LOCATION );
+  DALI_TEST_EQUALS( true, control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).Get< bool >(), TEST_LOCATION );
+
+  states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
+  DALI_TEST_CHECK( states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
+
+  control.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, false );
+  DALI_TEST_EQUALS( Property::BOOLEAN, control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType(), TEST_LOCATION );
+  DALI_TEST_EQUALS( false, control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).Get< bool >(), TEST_LOCATION );
+
+  states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
+  DALI_TEST_CHECK( !states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliControlAccessibilityHighlightBridgeUp(void)
+{
+  ToolkitTestApplication application;
+
+  auto controla = Control::New();
+  auto controlb = Control::New();
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto accessible_a = Dali::Accessibility::Accessible::Get( controla );
+  auto accessible_b = Dali::Accessibility::Accessible::Get( controlb );
+
+  auto a = dynamic_cast<Dali::Accessibility::Component*>( accessible_a );
+  auto b = dynamic_cast<Dali::Accessibility::Component*>( accessible_b );
+
+  auto states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  auto states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_EQUALS( true, DevelControl::GrabAccessibilityHighlight(controla), TEST_LOCATION );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_EQUALS( true, DevelControl::GrabAccessibilityHighlight(controlb), TEST_LOCATION );
+  DALI_TEST_EQUALS( true, DevelControl::GrabAccessibilityHighlight(controlb), TEST_LOCATION );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_EQUALS( false, DevelControl::ClearAccessibilityHighlight(controla), TEST_LOCATION );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_EQUALS( true, DevelControl::ClearAccessibilityHighlight(controlb), TEST_LOCATION );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_CHECK( TestGrabHighlight( a -> GetAddress() ) );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_CHECK( TestGrabHighlight( b -> GetAddress() ) );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+  DALI_TEST_CHECK( TestClearHighlight( b -> GetAddress() ) );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a->GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b->GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::HIGHLIGHTED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::HIGHLIGHTED ] );
+
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityControlAttributes(void)
+{
+  ToolkitTestApplication application;
+  auto check_box_button = Toolkit::Control::New();
+
+  std::string value;
+
+
+  auto attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  auto attributes_map = attributes.GetMap();
+
+  auto position = attributes_map->Find( "access_key1" );
+  DALI_TEST_CHECK( !position );
+
+  DevelControl::AppendAccessibilityAttribute( check_box_button, "access_key1", "access_value1" );
+  attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  attributes_map = attributes.GetMap();
+
+  DALI_TEST_EQUALS( (attributes_map->Find( "access_key1" ))->Get<std::string>(), "access_value1", TEST_LOCATION );
+
+  DevelControl::AppendAccessibilityAttribute( check_box_button, "access_key2", "access_value2_a" );
+  attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  attributes_map = attributes.GetMap();
+
+  DALI_TEST_EQUALS( (attributes_map->Find( "access_key1" ))->Get<std::string>(), "access_value1", TEST_LOCATION );
+  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->Get<std::string>(), "access_value2_a", TEST_LOCATION );
+
+  DevelControl::AppendAccessibilityAttribute( check_box_button, "access_key2", "access_value2_b" );
+  attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  attributes_map = attributes.GetMap();
+
+  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->Get<std::string>(), "access_value2_b", TEST_LOCATION );
+
+  DevelControl::RemoveAccessibilityAttribute( check_box_button, "access_key2" );
+  attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  attributes_map = attributes.GetMap();
+
+  // In case when we are removing one of attributes the property is setting for NONE type.
+  DALI_TEST_EQUALS( (attributes_map->Find( "access_key2" ))->GetType(), Property::NONE, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto ptr = Dali::Accessibility::Accessible::Get( check_box_button );
+  auto attribute_map_bridge = TestGetAttributes( ptr->GetAddress() );
+  auto counter = 0u;
+  for (auto i = 0u; i<attributes_map->Count();++i)
+    if((attributes_map->GetValue(i)).GetType() != Property::NONE )
+      ++counter;
+
+  DALI_TEST_EQUALS( counter, attribute_map_bridge.size(), TEST_LOCATION );
+
+  for (auto it : attribute_map_bridge)
+    DALI_TEST_EQUALS( (attributes_map->Find( it.first ))->Get<std::string>(), it.second, TEST_LOCATION );
+
+  DevelControl::ClearAccessibilityAttributes(check_box_button);
+  attributes = check_box_button.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  attributes_map = attributes.GetMap();
+
+  position = attributes_map->Find( "access_key1" );
+  DALI_TEST_CHECK( !position );
+
+  position = attributes_map->Find( "access_key2" );
+  DALI_TEST_CHECK( !position );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliControlReadingInfoType(void)
+{
+  ToolkitTestApplication application;
+  auto control = Control::New();
+
+  auto reading_info_type = DevelControl::GetAccessibilityReadingInfoType(control);
+  reading_info_type[Dali::Accessibility::ReadingInfoType::DESCRIPTION] = true;
+  reading_info_type[Dali::Accessibility::ReadingInfoType::STATE] = true;
+  reading_info_type[Dali::Accessibility::ReadingInfoType::NAME] = true;
+  reading_info_type[Dali::Accessibility::ReadingInfoType::ROLE] = true;
+
+  DevelControl::SetAccessibilityReadingInfoType(control, reading_info_type);
+
+  auto q = control.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES );
+  auto z = q.GetMap();
+
+  DALI_TEST_EQUALS( (z->Find( "reading_info_type" ))->Get<std::string>(), "name|role|description|state", TEST_LOCATION );
+  reading_info_type = DevelControl::GetAccessibilityReadingInfoType(control);
+  for ( auto i = 0u; i < 4; ++i)
+    DALI_TEST_CHECK ( reading_info_type[ static_cast< Dali::Accessibility::ReadingInfoType >( i ) ]);
+
+  END_TEST;
+}
+
+int UtcDaliControlDoGesture(void)
+{
+  ToolkitTestApplication application;
+  auto control = Control::New();
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( control );
+  auto gesture_one = Dali::Accessibility::GestureInfo { Dali::Accessibility::Gesture::ONE_FINGER_FLICK_LEFT, 600, 100, 500, 500, Dali::Accessibility::GestureState::BEGIN, 1000 };
+  auto gesture_two = Dali::Accessibility::GestureInfo { Dali::Accessibility::Gesture::ONE_FINGER_FLICK_RIGHT, 600, 100, 500, 500, Dali::Accessibility::GestureState::BEGIN, 1000 };
+
+  DALI_TEST_CHECK( !accessible->DoGesture( gesture_one ) );
+  DALI_TEST_CHECK( !TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::ONE_FINGER_FLICK_LEFT, 600, 100, 500, 500, Dali::Accessibility::GestureState::BEGIN, 1000 ) );
+
+  DevelControl::AccessibilityDoGestureSignal(control).Connect( [] ( std::pair< Dali::Accessibility::GestureInfo, bool > &gesture ) {
+  if ( gesture.first.type == Dali::Accessibility::Gesture::ONE_FINGER_FLICK_LEFT )
+    gesture.second = true;
+  else
+    gesture.second = false;
+  } );
+
+  DALI_TEST_CHECK( accessible->DoGesture( gesture_one ) );
+  DALI_TEST_CHECK( TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::ONE_FINGER_FLICK_LEFT, 600, 100, 500, 500, Dali::Accessibility::GestureState::BEGIN, 1000 ) );
+
+  DALI_TEST_CHECK( !accessible->DoGesture( gesture_two ) );
+  DALI_TEST_CHECK( !TestDoGesture( accessible->GetAddress(), Dali::Accessibility::Gesture::ONE_FINGER_FLICK_RIGHT, 600, 100, 500, 500, Dali::Accessibility::GestureState::BEGIN, 1000 ) );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityRelation(void)
+{
+  ToolkitTestApplication application;
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto rel = Accessibility::RelationType::FLOWS_TO;
+  auto number = static_cast< size_t >( rel );
+  auto control = Control::New();
+  auto destination1 = Control::New();
+  auto destination2 = Control::New();
+
+  DevelControl::AppendAccessibilityRelation( control, destination1, rel );
+  auto relations = DevelControl::GetAccessibilityRelations(control);
+  DALI_TEST_CHECK( relations[ number ].size() == 1 );
+
+  DevelControl::AppendAccessibilityRelation( control, destination2, rel );
+  relations = DevelControl::GetAccessibilityRelations(control);
+  DALI_TEST_CHECK( relations[ number ].size() == 2 );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( control );
+  auto accessible_destination1 = Dali::Accessibility::Accessible::Get( destination1 );
+  auto accessible_destination2 = Dali::Accessibility::Accessible::Get( destination2 );
+  auto relationset = accessible->GetRelationSet();
+
+  DALI_TEST_CHECK( relationset[0].relationType == rel );
+  DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination1->GetAddress() || relationset[0].targets[1] == accessible_destination1->GetAddress() );
+  DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination2->GetAddress() || relationset[0].targets[1] == accessible_destination2->GetAddress() );
+
+  auto relationset_bridge = TestGetRelationSet( accessible -> GetAddress() );
+  DALI_TEST_CHECK( static_cast< uint32_t >( relationset[0].relationType ) == std::get<0>( relationset_bridge[0] ) );
+
+  DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[0] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[0] );
+  DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[1] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[1] );
+
+  DevelControl::RemoveAccessibilityRelation(control,destination2,rel);
+  relations = DevelControl::GetAccessibilityRelations(control);
+  DALI_TEST_CHECK( relations[ number ].size() == 1 );
+
+  DevelControl::ClearAccessibilityRelations(control);
+  relations = DevelControl::GetAccessibilityRelations(control);
+  DALI_TEST_CHECK( relations[ number ].size() == 0 );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityParentChildren(void)
+{
+  ToolkitTestApplication application;
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto parent = Control::New();
+  auto child_1 = Control::New();
+  auto child_2 = Control::New();
+
+  auto parent_accessible = Dali::Accessibility::Accessible::Get( parent );
+  auto child_1_accessible = Dali::Accessibility::Accessible::Get( child_1 );
+  auto child_2_accessible = Dali::Accessibility::Accessible::Get( child_2 );
+
+  auto children = TestGetChildren( parent_accessible -> GetAddress() );
+  DALI_TEST_EQUALS( children.size(), 0, TEST_LOCATION );
+
+  try
+  {
+    TestGetIndexInParent( child_1_accessible -> GetAddress() );
+    DALI_ABORT("Object has parent, test abort");
+  }
+  catch(Accessibility::TestDBusWrapper::error){}
+
+  try
+  {
+    TestGetChildAtIndex( parent_accessible -> GetAddress(), -1 );
+    DALI_ABORT("Positive index, test abort");
+  }
+  catch(Accessibility::TestDBusWrapper::error){}
+
+  DALI_TEST_EQUALS( parent_accessible -> GetChildCount(), 0, TEST_LOCATION );
+
+  try
+  {
+    child_1_accessible -> GetIndexInParent();
+    DALI_ABORT("Object has parent, test abort");
+  }
+  catch (std::domain_error){}
+
+  parent.Add(child_1);
+  parent.Add(child_2);
+
+  children = TestGetChildren( parent_accessible -> GetAddress() );
+  DALI_TEST_EQUALS( children.size(), 2, TEST_LOCATION );
+
+  DALI_TEST_EQUALS( parent_accessible -> GetAddress(), TestGetParent( child_1_accessible -> GetAddress() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( child_2_accessible -> GetAddress(), TestGetChildAtIndex( parent_accessible -> GetAddress(), TestGetIndexInParent( child_2_accessible -> GetAddress() ) ), TEST_LOCATION );
+
+  DALI_TEST_EQUALS( parent_accessible,  child_1_accessible -> GetParent(), TEST_LOCATION );
+  DALI_TEST_EQUALS( child_2_accessible, parent_accessible -> GetChildAtIndex( child_2_accessible -> GetIndexInParent() ) , TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGetLayer(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto control = Control::New();
+  auto accessible_obj = Dali::Accessibility::Accessible::Get( control );
+  auto accessible_component = dynamic_cast<Dali::Accessibility::Component*>(accessible_obj);
+  DALI_TEST_CHECK( accessible_component );
+  DALI_TEST_EQUALS( Dali::Accessibility::ComponentLayer::WINDOW, accessible_component -> GetLayer(), TEST_LOCATION );
+  DALI_TEST_EQUALS( Dali::Accessibility::ComponentLayer::WINDOW, TestGetLayer( accessible_component -> GetAddress() ), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGrabFocus(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto controla = Control::New();
+  auto controlb = Control::New();
+
+  Stage::GetCurrent().Add( controla );
+  Stage::GetCurrent().Add( controlb );
+
+  controla.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
+  controlb.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
+
+  auto a = Dali::Accessibility::Accessible::Get( controla );
+  auto b = Dali::Accessibility::Accessible::Get( controlb );
+
+  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
+  auto b_component = dynamic_cast<Dali::Accessibility::Component*>( b );
+
+  auto states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
+  auto states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
+
+  DALI_TEST_CHECK( a_component -> GrabFocus() );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
+
+  DALI_TEST_CHECK( states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
+  DALI_TEST_CHECK( !states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
+
+  DALI_TEST_CHECK( TestGrabFocus( b_component -> GetAddress() ) );
+
+  states_by_bridge_a = Dali::Accessibility::States { TestGetStates( a_component -> GetAddress() )};
+  states_by_bridge_b = Dali::Accessibility::States { TestGetStates( b_component -> GetAddress() )};
+
+  DALI_TEST_CHECK( !states_by_bridge_a[ Dali::Accessibility::State::FOCUSED ] );
+  DALI_TEST_CHECK( states_by_bridge_b[ Dali::Accessibility::State::FOCUSED ] );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGetExtents(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto control = Control::New();
+  Stage::GetCurrent().GetRootLayer().Add( control );
+
+  control.SetProperty(Actor::Property::POSITION, Vector3(10, 10, 100));
+  control.SetProperty(Actor::Property::SIZE, Vector2(10, 10));
+
+  application.SendNotification();
+  application.Render( 1 );
+
+  auto a = Dali::Accessibility::Accessible::Get( control );
+  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
+
+  auto extents = a_component->GetExtents(Dali::Accessibility::CoordType::SCREEN);
+  DALI_TEST_EQUALS( extents.x, 5.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.y, 5.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION );
+
+  auto bridge_extents = TestGetExtents( a_component -> GetAddress() );
+  DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 5, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 5, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION );
+
+  control.SetProperty( Dali::DevelActor::Property::POSITION_USES_ANCHOR_POINT, false );
+  application.SendNotification();
+  application.Render( 1 );
+
+  extents = a_component->GetExtents(Dali::Accessibility::CoordType::SCREEN);
+  DALI_TEST_EQUALS( extents.x, 10.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.y, 10.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION );
+
+  bridge_extents = TestGetExtents( a_component -> GetAddress() );
+  DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 10, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 10, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION );
+  DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGetAlpha(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto control = Control::New();
+  auto a = Dali::Accessibility::Accessible::Get( control );
+  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
+
+  DALI_TEST_EQUALS( 0.0, a_component -> GetAlpha(), TEST_LOCATION );
+  DALI_TEST_EQUALS( 0.0, TestGetAlpha( a_component -> GetAddress() ), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGetMdiZOrder(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto control = Control::New();
+  auto a = Dali::Accessibility::Accessible::Get( control );
+  auto a_component = dynamic_cast<Dali::Accessibility::Component*>( a );
+
+  DALI_TEST_EQUALS( 0, static_cast< int >( a_component -> GetMdiZOrder() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( 0, TestGetMdiZOrder( a_component -> GetAddress() ), TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityAction(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto control = Control::New( );
+  auto a = Dali::Accessibility::Accessible::Get( control );
+  auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
+
+  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
+  auto count = b -> GetActionCount();
+
+  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
+
+  for (auto i = 0u; i<count; ++i)
+  {
+    DALI_TEST_CHECK( Dali::Accessibility::Find( actions, b -> GetActionName( i ) ) );
+    DALI_TEST_EQUALS( b -> GetActionName( i ), b -> GetLocalizedActionName( i ), TEST_LOCATION );
+    DALI_TEST_EQUALS( b -> GetActionDescription( i ), "", TEST_LOCATION );
+    DALI_TEST_EQUALS( b -> GetActionKeyBinding( i ), "", TEST_LOCATION );
+  }
+
+  try
+  {
+    b ->GetActionDescription( count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( std::domain_error ){}
+
+  try
+  {
+    b ->GetActionName( count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( std::domain_error ){}
+
+  try
+  {
+    b ->GetLocalizedActionName( count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( std::domain_error ){}
+
+  try
+  {
+    b ->GetActionKeyBinding( count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( std::domain_error ){}
+
+  count = TestGetActionCount(b -> GetAddress());
+
+  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
+
+  for (auto i = 0u; i<count; ++i)
+  {
+    DALI_TEST_CHECK( Dali::Accessibility::Find( actions, TestGetActionName( b->GetAddress(), i ) ) );
+    DALI_TEST_EQUALS( TestGetActionName( b->GetAddress(), i ), TestGetLocalizedActionName( b->GetAddress(), i ), TEST_LOCATION );
+    DALI_TEST_EQUALS( TestGetActionDescription( b->GetAddress(), i ), "", TEST_LOCATION );
+    DALI_TEST_EQUALS( TestGetActionKeyBinding( b->GetAddress(), i ), "", TEST_LOCATION );
+  }
+
+  try
+  {
+    TestGetActionDescription( b->GetAddress(), count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( Dali::Accessibility::TestDBusWrapper::error ){}
+
+  try
+  {
+    TestGetActionName( b->GetAddress(), count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( Dali::Accessibility::TestDBusWrapper::error ){}
+
+  try
+  {
+    TestGetLocalizedActionName( b->GetAddress(), count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( Dali::Accessibility::TestDBusWrapper::error ){}
+
+  try
+  {
+    TestGetActionKeyBinding( b->GetAddress(), count );
+    DALI_ABORT( "Correct index, abort" );
+  }
+  catch( Dali::Accessibility::TestDBusWrapper::error ){}
+
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityDoAction(void)
+{
+  ToolkitTestApplication application;
+
+  Dali::Accessibility::TestEnableSC( true );
+  thread_local std::vector< bool > actions_done { false, false, false, false };
+
+  auto control = Control::New(  );
+  auto a = Dali::Accessibility::Accessible::Get( control );
+  auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
+  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
+
+  DALI_TEST_CHECK( b -> DoAction( actions[2] ) );
+  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
+  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
+
+  DevelControl::AccessibilityReadingSkippedSignal(control).Connect( [] () {
+    actions_done[ 1 ] = true;
+  } );
+  DevelControl::AccessibilityReadingCancelledSignal(control).Connect( [] () {
+    actions_done[ 2 ] = true;
+  } );
+  DevelControl::AccessibilityReadingStoppedSignal(control).Connect( [] () {
+    actions_done[ 3 ] = true;
+  } );
+  DevelControl::AccessibilityActivateSignal(control).Connect( [] () {
+    actions_done[ 0 ] = true;
+  } );
+
+  DALI_TEST_CHECK( b -> DoAction( 1 ) );
+  DALI_TEST_CHECK( b -> DoAction( 2 ) );
+  DALI_TEST_CHECK( b -> DoAction( 3 ) );
+  DALI_TEST_CHECK( b -> DoAction( 4 ) );
+
+  for ( auto i = 0u; i < actions_done.size(); ++i )
+    {
+      DALI_TEST_CHECK( actions_done[ i ] );
+      actions_done[ i ] = false;
+    }
+
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 1 ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 2 ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 3 ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 4 ) );
+
+  for ( auto i = 0u; i < actions_done.size(); ++i )
+    {
+      DALI_TEST_CHECK( actions_done[ i ] );
+      actions_done[ i ] = false;
+    }
+
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 1 ] ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 2 ] ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 3 ] ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 4 ] ) );
+
+  for ( auto i = 0u; i < actions_done.size(); ++i )
+      DALI_TEST_CHECK( actions_done[ i ] );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp
new file mode 100644 (file)
index 0000000..43c3707
--- /dev/null
@@ -0,0 +1,634 @@
+#include <dali-toolkit-test-suite-utils.h>
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali-toolkit/devel-api/controls/control-devel.h>
+#include <dali-toolkit/devel-api/controls/table-view/table-view.h>
+#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+
+using namespace Dali::Toolkit;
+
+//using DBusWrapper = Dali::Accessibility::DBusWrapper; // FIXME
+
+void utc_dali_accessibility_controls_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void utc_dali_accessibility_controls_cleanup(void)
+{
+  test_return_value = TET_PASS;
+  //DBusWrapper::Install({}) is a de-install
+  //DBusWrapper::Install({}); // FIXME
+}
+
+int UtcDaliControlPropertyAccessibilityTranslationDomain(void)
+{
+  ToolkitTestApplication application;
+
+  auto control = Control::New();
+
+  auto accessibility_translation_domain = DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN;
+  DALI_TEST_EQUALS( Property::NONE , control.GetProperty( accessibility_translation_domain ).GetType(), TEST_LOCATION );
+
+  control.SetProperty( accessibility_translation_domain, "translation_domain_test_1" );
+  DALI_TEST_EQUALS( "translation_domain_test_1" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
+
+  control.SetProperty( accessibility_translation_domain, "translation_domain_test_2" );
+  DALI_TEST_EQUALS( "translation_domain_test_2" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
+
+  END_TEST;
+}
+
+// This test shows that when the accessibility bridge is
+// not up, there is no possibility to grab or clear highlight
+int UtcDaliControlAccessibilityHighlight(void)
+{
+  ToolkitTestApplication application;
+  auto controla = Control::New();
+  auto controlb = Control::New();
+
+  DALI_TEST_EQUALS( false, DevelControl::GrabAccessibilityHighlight(controla), TEST_LOCATION );
+  DALI_TEST_EQUALS( false, DevelControl::GrabAccessibilityHighlight(controlb), TEST_LOCATION );
+  DALI_TEST_EQUALS( false, DevelControl::ClearAccessibilityHighlight(controla), TEST_LOCATION );
+  DALI_TEST_EQUALS( false, DevelControl::ClearAccessibilityHighlight(controlb), TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/devel-api/controls/tool-bar/tool-bar.h>
+int UtcDaliAccessibilityToolBarConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto toolbar = ToolBar::New();
+  DALI_TEST_CHECK( toolbar );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( toolbar );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOOL_BAR, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityPushButtonConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto pushbutton = PushButton::New();
+  DALI_TEST_CHECK( pushbutton );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PUSH_BUTTON, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityPushButtonStates(void)
+{
+  ToolkitTestApplication application;
+
+  auto pushbutton = PushButton::New();
+  DALI_TEST_CHECK( pushbutton );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
+  DALI_TEST_CHECK( accessible );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::PRESSED ] ), false, TEST_LOCATION );
+
+  // auto button = dynamic_cast<Dali::Toolkit::Button* >( accessible ) ;
+  pushbutton.SetProperty( Toolkit::Button::Property::TOGGLABLE, true );
+  pushbutton.SetProperty( Toolkit::Button::Property::SELECTED, true );
+
+  states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::PRESSED ] ), true, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
+int UtcDaliAccessibilityToggleButtonConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto togglebutton = ToggleButton::New();
+  DALI_TEST_CHECK( togglebutton );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( togglebutton );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOGGLE_BUTTON, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
+int UtcDaliAccessibilityTextSelectionPopupConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto textselectionpopup = TextSelectionPopup::New( NULL );
+  DALI_TEST_CHECK( textselectionpopup );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( textselectionpopup );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::DIALOG, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityAlignmentConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto alignment = Alignment::New();
+  DALI_TEST_CHECK( alignment );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( alignment );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityRadioButtonStates(void)
+{
+  ToolkitTestApplication application;
+
+  auto radiobutton = RadioButton::New();
+  DALI_TEST_CHECK( radiobutton );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( radiobutton );
+  DALI_TEST_CHECK( accessible );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto states = accessible->GetStates();
+  DALI_TEST_CHECK( states );
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), false, TEST_LOCATION );
+  radiobutton.SetProperty( Toolkit::RadioButton::Property::SELECTED, true );
+  states = accessible->GetStates();
+  DALI_TEST_CHECK( states );
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), true, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityFlexContainerConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto flexcontainer = FlexContainer::New();
+  DALI_TEST_CHECK( flexcontainer );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( flexcontainer );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityCheckBoxButton(void)
+{
+  ToolkitTestApplication application;
+
+  auto checkboxbutton = CheckBoxButton::New();
+  DALI_TEST_CHECK( checkboxbutton );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( checkboxbutton );
+  DALI_TEST_CHECK( accessible );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  auto states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), false, TEST_LOCATION );
+  checkboxbutton.SetProperty( Toolkit::CheckBoxButton::Property::SELECTED, true );
+  states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), true, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/devel-api/controls/text-controls/text-selection-toolbar.h>
+int UtcDaliAccessibilityTextSelectionConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto textselectiontoolbar = TextSelectionToolbar::New();
+  DALI_TEST_CHECK( textselectiontoolbar );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( textselectiontoolbar );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOOL_BAR, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
+int UtcDaliAccessibilityManager(void)
+{
+  ToolkitTestApplication application;
+
+  auto accessmanager = new Dali::Toolkit::Internal::AccessibilityManager;
+  auto actor = Dali::Actor::New();
+
+  auto str = accessmanager->GetAccessibilityAttribute( actor, Toolkit::AccessibilityManager::AccessibilityAttribute::ACCESSIBILITY_LABEL );
+  DALI_TEST_EQUALS( str, "", TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->GetFocusOrder( actor ), 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->GenerateNewFocusOrder(), 0, TEST_LOCATION );
+  accessmanager->GetActorByFocusOrder( 0 );
+  accessmanager->GetCurrentFocusActor();
+  accessmanager->GetCurrentFocusGroup();
+  DALI_TEST_EQUALS( accessmanager->GetCurrentFocusOrder(), 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->MoveFocusForward(), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->MoveFocusBackward(), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->IsFocusGroup( actor ), false, TEST_LOCATION );
+  accessmanager->GetFocusGroup( actor );
+  auto vector = accessmanager->GetReadPosition();
+  DALI_TEST_EQUALS( vector.x, 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( vector.y, 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->GetGroupMode(), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( accessmanager->GetWrapMode(), false, TEST_LOCATION );
+  accessmanager->GetFocusIndicatorActor();
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityModel3dViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto model3dview = Model3dView::New();
+  DALI_TEST_CHECK( model3dview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( model3dview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::IMAGE, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/effects-view/effects-view-impl.h>
+int UtcDaliAccessibilityEffectsViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto etype = Dali::Toolkit::EffectsView::EffectType::DROP_SHADOW;
+  auto effectsview = EffectsView::New( etype );
+  DALI_TEST_CHECK( effectsview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( effectsview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h>
+int UtcDaliAccessibilitySuperBlurViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto superblurview = SuperBlurView::New( 1 );
+  DALI_TEST_CHECK( superblurview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( superblurview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityImageViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto imageview = ImageView::New();
+  DALI_TEST_CHECK( imageview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( imageview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::IMAGE, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
+class TestPageFactory : public PageFactory
+{
+public:
+
+  TestPageFactory( bool returnValidTexture = true )
+  : mValidTexture( returnValidTexture )
+  {
+    mTotalPageNumber = 100;
+  }
+
+  /**
+   * Query the number of pages available from the factory.
+   * The maximum available page has an ID of GetNumberOfPages()-1.
+   */
+  virtual unsigned int GetNumberOfPages()
+  {
+    return mTotalPageNumber;
+  }
+
+  /**
+   * Create an texture to represent a page content.
+   * @param[in] pageId The ID of the page to create.
+   * @return An image, or an empty handle if the ID is out of range.
+   */
+  virtual Texture NewPage( unsigned int pageId )
+  {
+    if( mValidTexture )
+    {
+      return Texture::New( Dali::TextureType::TEXTURE_2D, Pixel::RGB888, 100, 100 );
+    }
+    return Texture(); // empty handle
+  }
+
+private:
+  unsigned int            mTotalPageNumber;
+  bool                    mValidTexture;
+};
+
+#include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
+int UtcDaliAccessibilityPageTurnViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto testpagefactory = TestPageFactory();
+  auto vector2 = Vector2( 1.0, 1.0 );
+  auto pageturnlandscapeview = PageTurnLandscapeView::New( testpagefactory, vector2 );
+  DALI_TEST_CHECK( pageturnlandscapeview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( pageturnlandscapeview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PAGE_TAB_LIST, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityGaussianBlurViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto gaussianblurview = GaussianBlurView::New();
+  DALI_TEST_CHECK( gaussianblurview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( gaussianblurview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityShadowViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto shadowview = ShadowView::New();
+  DALI_TEST_CHECK( shadowview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( shadowview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
+int UtcDaliAccessibilityScrollableConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto scrollview = ScrollView::New();
+  DALI_TEST_CHECK( scrollview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( scrollview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::SCROLL_PANE, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
+int UtcDaliAccessibilityMagnifierConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto magnifier = Magnifier::New();
+  DALI_TEST_CHECK( magnifier );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( magnifier );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityTableViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto tableview = TableView::New( 10, 10 );
+  DALI_TEST_CHECK( tableview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( tableview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TABLE, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h>
+int UtcDaliAccessibilityBloomViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto bloomview = BloomView::New();
+  DALI_TEST_CHECK( bloomview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( bloomview );
+  DALI_TEST_CHECK( accessible );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ANIMATION, TEST_LOCATION );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
+int UtcDaliAccessibilityTextField(void)
+{
+  ToolkitTestApplication application;
+
+  auto textfield = TextField::New();
+  DALI_TEST_CHECK( textfield );
+
+  textfield.SetProperty(Actor::Property::NAME, "test" );
+  DALI_TEST_EQUALS( textfield.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( textfield );
+  DALI_TEST_CHECK( accessible );
+
+  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ENTRY, TEST_LOCATION );
+  auto states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::EDITABLE ] ), true, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  textfield.SetProperty( Toolkit::TextField::Property::TEXT, "test" );
+  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
+  DALI_TEST_CHECK( text );
+  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
+
+  auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
+  DALI_TEST_CHECK( editabletext );
+  DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
+
+  auto range = text->GetSelection( 1 );
+  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
+int UtcDaliAccessibilityTextEditor(void)
+{
+  ToolkitTestApplication application;
+
+  auto texteditor = TextEditor::New();
+  DALI_TEST_CHECK( texteditor );
+
+  texteditor.SetProperty(Actor::Property::NAME, "test" );
+  DALI_TEST_EQUALS( texteditor.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( texteditor );
+  DALI_TEST_CHECK( accessible );
+
+  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ENTRY, TEST_LOCATION );
+  auto states = accessible->GetStates();
+  DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::EDITABLE ] ), true, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  texteditor.SetProperty( Toolkit::TextEditor::Property::TEXT, "test" );
+  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
+  DALI_TEST_CHECK( text );
+  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
+
+  auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
+  DALI_TEST_CHECK( editabletext );
+  DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
+
+  auto range = text->GetSelection( 1 );
+  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityTextLabel(void)
+{
+  ToolkitTestApplication application;
+
+  auto textlabel = TextLabel::New();
+  DALI_TEST_CHECK( textlabel );
+
+  textlabel.SetProperty(Actor::Property::NAME, "test" );
+  DALI_TEST_EQUALS( textlabel.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( textlabel );
+  DALI_TEST_CHECK( accessible );
+
+  DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::LABEL, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( true );
+
+  textlabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "test" );
+  auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
+  DALI_TEST_CHECK( text );
+  DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetText( 0, 4 ), "test", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetCaretOffset(0), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->GetCaretOffset(), 0, TEST_LOCATION );
+
+  auto range = text->GetSelection( 1 );
+  DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+  DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
+
+  Dali::Accessibility::TestEnableSC( false );
+
+  END_TEST;
+}
+
+#include <dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h>
+int UtcDaliAccessibilityNavigationViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto navigationview = NavigationView::New();
+  DALI_TEST_CHECK( navigationview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( navigationview );
+  DALI_TEST_CHECK( accessible );
+
+  DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::FILLER, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliAccessibilityVideoViewConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  auto videoview = VideoView::New();
+  DALI_TEST_CHECK( videoview );
+
+  auto accessible = Dali::Accessibility::Accessible::Get( videoview );
+  DALI_TEST_CHECK( accessible );
+
+  DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::VIDEO, TEST_LOCATION );
+
+  END_TEST;
+}
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Text.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Text.cpp
new file mode 100644 (file)
index 0000000..5d5a9a2
--- /dev/null
@@ -0,0 +1,483 @@
+/**
+ * Copyright (c) 2017 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// 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.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali/devel-api/adaptor-framework/accessibility.h>
+#include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
+
+void utc_dali_toolkit_accessibility_text_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void utc_dali_toolkit_accessibility_text_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int utcDaliAccessibilityTextEditorGetName(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  DALI_TEST_EQUALS( editor.GetProperty<std::string>(Actor::Property::NAME), "", TEST_LOCATION );
+  editor.SetProperty(Actor::Property::NAME, "editor");
+  DALI_TEST_EQUALS( editor.GetProperty<std::string>(Actor::Property::NAME), "editor", TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextEditorGetText(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  auto q = Dali::Accessibility::Accessible::Get( editor );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
+    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextEditorGetCharacterCount(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  auto q = Dali::Accessibility::Accessible::Get( editor );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "editor" );
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 6, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextEditorGetTextAtOffset(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  auto q = Dali::Accessibility::Accessible::Get( editor );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text editor test sentence" );
+    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::CHARACTER );
+    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
+
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextEditorGetSetSelection(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  auto q = Dali::Accessibility::Accessible::Get( editor );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+
+    x->SetSelection( 0, 4, 9 );
+    editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
+    range = x->GetSelection( 0 );
+
+    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.content, "plary", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextEditorRemoveSelection(void)
+{
+  ToolkitTestApplication application;
+
+  auto editor = Dali::Toolkit::TextEditor::New();
+  auto q = Dali::Accessibility::Accessible::Get( editor );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    x->SetSelection( 0, 4, 9 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    x->RemoveSelection( 0 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldGetName(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Toolkit::TextField::New();
+  DALI_TEST_EQUALS( field.GetProperty<std::string>(Actor::Property::NAME), "", TEST_LOCATION );
+  field.SetProperty(Actor::Property::NAME, "field");
+  DALI_TEST_EQUALS( field.GetProperty<std::string>(Actor::Property::NAME), "field", TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldGetText(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Dali::Toolkit::TextField::New();
+  auto q = Dali::Accessibility::Accessible::Get( field );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "exemplary_text" );
+    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldGetCharacterCount(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Dali::Toolkit::TextField::New();
+  auto q = Dali::Accessibility::Accessible::Get( field );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "field" );
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 5, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldGetTextAtOffset(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Dali::Toolkit::TextField::New();
+  auto q = Dali::Accessibility::Accessible::Get( field );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text editor test sentence" );
+    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::CHARACTER );
+    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
+
+    field.SetProperty( Toolkit::TextField::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldGetSetSelection(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Dali::Toolkit::TextField::New();
+  auto q = Dali::Accessibility::Accessible::Get( field );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+
+    x->SetSelection( 0, 4, 9 );
+    field.SetProperty( Toolkit::TextEditor::Property::TEXT, "exemplary_text" );
+    range = x->GetSelection( 0 );
+
+    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.content, "plary", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextFieldRemoveSelection(void)
+{
+  ToolkitTestApplication application;
+
+  auto field = Dali::Toolkit::TextField::New();
+  auto q = Dali::Accessibility::Accessible::Get( field );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    x->SetSelection( 0, 4, 9 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    x->RemoveSelection( 0 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextLabelGetName(void)
+{
+  ToolkitTestApplication application;
+
+  auto label = Toolkit::TextLabel::New();
+  DALI_TEST_EQUALS( label.GetProperty<std::string>(Actor::Property::NAME), "", TEST_LOCATION );
+  label.SetProperty(Actor::Property::NAME, "label");
+  DALI_TEST_EQUALS( label.GetProperty<std::string>(Actor::Property::NAME), "label", TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextLabelGetText(void)
+{
+  ToolkitTestApplication application;
+
+  auto label = Dali::Toolkit::TextLabel::New();
+  auto q = Dali::Accessibility::Accessible::Get( label );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
+    label.SetProperty( Toolkit::TextField::Property::TEXT, "exemplary_text" );
+    DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextLabelGetCharacterCount(void)
+{
+  ToolkitTestApplication application;
+
+  auto label = Dali::Toolkit::TextLabel::New();
+  auto q = Dali::Accessibility::Accessible::Get( label );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 0, TEST_LOCATION );
+    label.SetProperty( Toolkit::TextField::Property::TEXT, "field" );
+    DALI_TEST_EQUALS( x->GetCharacterCount(), 5, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextLabelGetTextAtOffset(void)
+{
+  ToolkitTestApplication application;
+
+  auto label = Dali::Toolkit::TextLabel::New();
+  auto q = Dali::Accessibility::Accessible::Get( label );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text editor test sentence" );
+    range = x->GetTextAtOffset( 5, Dali::Accessibility::TextBoundary::CHARACTER );
+    DALI_TEST_EQUALS( range.content, "e", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 5, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 6, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 3, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 28, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 36, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 4, Dali::Accessibility::TextBoundary::WORD );
+    DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 0, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, "text    \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 6, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " editor  \n", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 14, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 24, TEST_LOCATION );
+
+    label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text    \n\n\n\n\n\n editor  \n\n test sentence" );
+    range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::LINE );
+    DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
+    DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityTextLabelRemoveSelection( void )
+{
+  ToolkitTestApplication application;
+
+  auto label = Dali::Toolkit::TextLabel::New();
+  auto q = Dali::Accessibility::Accessible::Get( label );
+  auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+  DALI_TEST_CHECK( x );
+  if( x )
+  {
+    auto range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
+    x->SetSelection( 0, 4, 9 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+
+    x->RemoveSelection( 0 );
+    range = x->GetSelection( 0 );
+    DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+    DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Value.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Value.cpp
new file mode 100644 (file)
index 0000000..0b26c3f
--- /dev/null
@@ -0,0 +1,247 @@
+/**
+ * Copyright (c) 2017 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// 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.h>
+#include <dali/devel-api/common/stage.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali/devel-api/adaptor-framework/accessibility.h>
+#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+
+#include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar.h>
+
+using namespace Dali::Accessibility;
+
+void utc_dali_toolkit_accessibility_value_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void utc_dali_toolkit_accessibility_value_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int utcDaliAccessibilityProgressBarGetMinimum(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
+  auto q = Dali::Accessibility::Accessible::Get( progress_bar );
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityProgressBarGetMaximum(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
+  auto q = Dali::Accessibility::Accessible::Get( progress_bar );
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityProgressBarGetMinimumIncrement(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
+  auto q = Dali::Accessibility::Accessible::Get(progress_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMinimumIncrement(), 0.001, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityProgressBarGetSetCurrent(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
+  auto q = Dali::Accessibility::Accessible::Get(progress_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityScrollBarGetMinimum(void)
+{
+  ToolkitTestApplication application;
+
+  // Create a source actor that owns the scroll properties required by the scroll bar
+  Actor sourceActor = Actor::New();
+  Stage::GetCurrent().Add( sourceActor );
+
+  // Register the scroll properties
+  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
+  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   10.0f );
+  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
+  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
+
+  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
+
+  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
+
+  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMinimum(), 10.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityScrollBarGetMaximum(void)
+{
+  ToolkitTestApplication application;
+
+  // Create a source actor that owns the scroll properties required by the scroll bar
+  Actor sourceActor = Actor::New();
+  Stage::GetCurrent().Add( sourceActor );
+
+  // Register the scroll properties
+  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
+  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
+  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
+  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
+
+  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
+
+  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
+
+  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMaximum(), 100.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityScrollBarGetMinimumIncrement(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
+  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMinimumIncrement(), 1.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilityScrollBarGetSetCurrent(void)
+{
+  ToolkitTestApplication application;
+
+  // Create a source actor that owns the scroll properties required by the scroll bar
+  Actor sourceActor = Actor::New();
+  Stage::GetCurrent().Add( sourceActor );
+
+  // Register the scroll properties
+  Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
+  Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
+  Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
+  Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
+
+  Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
+
+  scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
+
+  //sourceActor.SetProperty(propertyScrollPosition, 20.0f);
+
+  auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 1000.0 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 50.0 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilitySliderGetMinimum(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::Slider slider = Toolkit::Slider::New();
+  auto q = Dali::Accessibility::Accessible::Get(slider);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilitySliderGetMaximum(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::Slider slider = Toolkit::Slider::New();
+  auto q = Dali::Accessibility::Accessible::Get(slider);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilitySliderGetMinimumIncrement(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::Slider slider = Toolkit::Slider::New();
+  auto q = Dali::Accessibility::Accessible::Get(slider);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS<float>( x->GetMinimumIncrement(), 0.05, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int utcDaliAccessibilitySliderGetSetCurrent(void)
+{
+  ToolkitTestApplication application;
+
+  Toolkit::Slider slider = Toolkit::Slider::New();
+  auto q = Dali::Accessibility::Accessible::Get(slider);
+  auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
+  DALI_TEST_CHECK( x );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
+  DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
+
+  END_TEST;
+}