/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <iostream>
#include <stdlib.h>
-// Need to override adaptor classes for toolkit test harness, so include
-// test harness headers before dali headers.
+#include <dali-toolkit/dali-toolkit.h>
+
#include <dali-toolkit-test-suite-utils.h>
#include <toolkit-accessibility-adaptor.h>
-
-#include <dali-toolkit/dali-toolkit.h>
+#include <dummy-control.h>
using namespace Dali;
using namespace Toolkit;
namespace
{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
- gObjectCreatedCallBackCalled = true;
-}
-
// Functors to test whether focus changed signal is emitted when the focus is changed
class FocusChangedCallback : public Dali::ConnectionTracker
{
tet_infoline(" UtcDaliAccessibilityManagerGet");
- AccessibilityManager manager;
-
- //Ensure object is created by checking if it's registered
- ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
- DALI_TEST_CHECK(registry);
-
- gObjectCreatedCallBackCalled = false;
- registry.ObjectCreatedSignal().Connect( &TestCallback );
- {
- manager = AccessibilityManager::Get();
- DALI_TEST_CHECK(manager);
- }
- DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
+ AccessibilityManager manager = AccessibilityManager::Get();
+ DALI_TEST_CHECK(manager);
AccessibilityManager newManager = AccessibilityManager::Get();
DALI_TEST_CHECK(newManager);
// make sure the change of focus order doesn't affect the actor's description
DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Set the focus order and description for the third actor
Actor third = Actor::New();
manager.SetFocusOrder(third, 1);
DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == second);
DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == third);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Change the focus order of the third actor to 1
manager.SetFocusOrder(third, 1);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Create the first actor and add it to the stage
Actor first = Actor::New();
manager.SetFocusOrder(first, 1);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Create an actor with two child actors and add it to the stage
Actor parent = Actor::New();
Actor firstChild = Actor::New();
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
Actor first = Actor::New();
Stage::GetCurrent().Add(first);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
Actor first = Actor::New();
Stage::GetCurrent().Add(first);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
Actor first = Actor::New();
Stage::GetCurrent().Add(first);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Create the first actor and add it to the stage
Actor first = Actor::New();
manager.SetFocusOrder(first, 1);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
// Create an actor with two child actors and add it to the stage
Actor parent = Actor::New();
Actor firstChild = Actor::New();
END_TEST;
}
+int UtcDaliAccessibilityManagerSetAndGetFocusIndicatorWithFocusedActor(void)
+{
+ ToolkitTestApplication application;
+
+ tet_infoline(" UtcDaliAccessibilityManagerSetAndGetFocusIndicatorWithFocusedActor");
+
+ AccessibilityManager manager = AccessibilityManager::Get();
+ DALI_TEST_CHECK(manager);
+
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
+ Actor defaultFocusIndicatorActor = manager.GetFocusIndicatorActor();
+ DALI_TEST_CHECK(defaultFocusIndicatorActor);
+
+ Actor focusedActor = Actor::New();
+ Stage::GetCurrent().Add( focusedActor );
+
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS( focusedActor.GetChildCount(), 0u, TEST_LOCATION );
+
+ manager.SetFocusOrder( focusedActor, 1 );
+ manager.SetCurrentFocusActor( focusedActor );
+
+ DALI_TEST_EQUALS( focusedActor.GetChildCount(), 1u, TEST_LOCATION );
+ DALI_TEST_CHECK( focusedActor.GetChildAt(0) == defaultFocusIndicatorActor );
+
+ Actor newFocusIndicatorActor = Actor::New();
+ manager.SetFocusIndicatorActor( newFocusIndicatorActor );
+ DALI_TEST_CHECK(manager.GetFocusIndicatorActor() == newFocusIndicatorActor);
+ DALI_TEST_EQUALS( focusedActor.GetChildCount(), 1u, TEST_LOCATION );
+ DALI_TEST_CHECK( focusedActor.GetChildAt(0) == newFocusIndicatorActor );
+
+ // Disable Accessibility
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, false );
+ accAdaptor.HandleActionEnableEvent();
+
+ DALI_TEST_EQUALS( focusedActor.GetChildCount(), 0u, TEST_LOCATION );
+
+ END_TEST;
+}
+
int UtcDaliAccessibilityManagerSignalFocusChanged(void)
{
ToolkitTestApplication application;
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK(manager);
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
bool signalVerified = false;
FocusOvershotCallback callback(signalVerified);
manager.FocusOvershotSignal().Connect(&callback, &FocusOvershotCallback::Callback);
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
+ Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New();
+ button.SetSize(480, 800);
+ Stage::GetCurrent().Add(button);
+ manager.SetFocusOrder( button, 1 );
+ manager.SetCurrentFocusActor( button );
+
manager.ActionActivateSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true );
+ accessibilityAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
manager.ActionUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
- Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+ DummyControl dummyControl = DummyControl::New(true);
+ dummyControl.SetSize(480, 800);
+ manager.SetFocusOrder( dummyControl, 1 );
+ Stage::GetCurrent().Add( dummyControl );
+ manager.SetCurrentFocusActor( dummyControl );
+
accessibilityAdaptor.HandleActionUpEvent();
DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true );
+ accessibilityAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
manager.ActionDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
- Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+ Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New();
+ button.SetSize(480, 800);
+ Stage::GetCurrent().Add(button);
+ manager.SetFocusOrder( button, 1 );
+ manager.SetCurrentFocusActor( button );
+
accessibilityAdaptor.HandleActionDownEvent();
DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
END_TEST;
}
+
int UtcDaliAccessibilityManagerActionMoveToFirstSignalN(void)
{
ToolkitTestApplication application;
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
+ Dali::Toolkit::PushButton button = Dali::Toolkit::PushButton::New();
+ button.SetSize(480, 800);
+ Stage::GetCurrent().Add(button);
+ manager.SetFocusOrder( button, 1 );
+ manager.SetCurrentFocusActor( button );
+
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
manager.ActionZoomSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
AccessibilityManagerSignalHandler callback;
+ Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
+ Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
+ accAdaptor.HandleActionEnableEvent();
+
AccessibilityManager manager = AccessibilityManager::Get();
DALI_TEST_CHECK( manager );
END_TEST;
}
+
+int UtcDaliAccessibilityManagerActionTouch(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( " UtcDaliAccessibilityManagerActionTouch" );
+
+ AccessibilityManager manager = AccessibilityManager::Get();
+ DALI_TEST_CHECK( manager );
+
+ Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+
+ DummyControl dummyControl = DummyControl::New(true);
+ Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
+ dummyControl.SetSize(480, 800);
+ manager.SetFocusOrder( dummyControl, 1 );
+ Stage::GetCurrent().Add( dummyControl );
+ manager.SetCurrentFocusActor( dummyControl );
+
+ TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f );
+ accessibilityAdaptor.HandleActionTouchEvent( point, 0u );
+
+ DALI_TEST_CHECK( dummyImpl.onAccTouchedCalled );
+
+ END_TEST;
+}
+
+
+int UtcDaliAccessibilityManagerHandlePanGesture(void)
+{
+ // Pan gesture sent from adaptor to manager via AccessibilityGestureHandler
+ // Adaptor.SetGestureHandler is called in Initialize (check it's the toolkit version)
+ ToolkitTestApplication application;
+ tet_infoline( " UtcDaliAccessibilityManagerHandlePanGesture" );
+
+ AccessibilityManager manager = AccessibilityManager::Get();
+ DALI_TEST_CHECK( manager );
+
+ Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
+ DummyControl dummyControl = DummyControl::New(true);
+ dummyControl.SetSize(480, 800);
+ Stage::GetCurrent().Add( dummyControl );
+
+ Dali::Integration::PanGestureEvent panGestureEvent(Gesture::Started);
+ panGestureEvent.previousPosition = Vector2(0.f, 0.f);
+ panGestureEvent.currentPosition = Vector2(100.f, 0.f);
+ panGestureEvent.timeDelta = 16;
+ panGestureEvent.numberOfTouches = 1;
+
+ Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
+
+ panGestureEvent.state = Gesture::Continuing;
+ panGestureEvent.previousPosition = Vector2(100.f, 0.f);
+ panGestureEvent.currentPosition = Vector2(200.f, 0.f);
+ Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
+
+ panGestureEvent.state = Gesture::Finished;
+ panGestureEvent.previousPosition = Vector2(200.f, 0.f);
+ panGestureEvent.currentPosition = Vector2(300.f, 0.f);
+ Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
+
+
+ END_TEST;
+}
+
+// Methods missing coverage:
+// IsActorFocusableFunction
+// DoActivate
+// SetFocusable
+// TtsStateChanged