+++ /dev/null
-#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
+++ /dev/null
-#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__
+++ /dev/null
-#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;
-}
+++ /dev/null
-/**
- * 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;
-}
+++ /dev/null
-#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;
-}
+++ /dev/null
-#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
+++ /dev/null
-/**
- * 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;
-}
+++ /dev/null
-/**
- * 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;
-}
# 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
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
--- /dev/null
+#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;
+ }
+ }
+}
--- /dev/null
+#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__
--- /dev/null
+/**
+ * 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;
+}
--- /dev/null
+#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;
+}
--- /dev/null
+#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;
+}
--- /dev/null
+/**
+ * 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;
+}
--- /dev/null
+/**
+ * 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;
+}