2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include <dali-toolkit/dali-toolkit.h>
23 #include <dali-toolkit-test-suite-utils.h>
24 #include <toolkit-accessibility-adaptor.h>
25 #include <dummy-control.h>
28 using namespace Toolkit;
31 void utc_dali_toolkit_accessibility_manager_startup(void)
33 test_return_value = TET_UNDEF;
36 void utc_dali_toolkit_accessibility_manager_cleanup(void)
38 test_return_value = TET_PASS;
45 static bool gObjectCreatedCallBackCalled;
47 static void TestCallback(BaseHandle handle)
49 gObjectCreatedCallBackCalled = true;
52 // Functors to test whether focus changed signal is emitted when the focus is changed
53 class FocusChangedCallback : public Dali::ConnectionTracker
56 FocusChangedCallback(bool& signalReceived)
57 : mSignalVerified(signalReceived),
58 mOriginalFocusedActor(),
59 mCurrentFocusedActor()
63 void Callback(Actor originalFocusedActor, Actor currentFocusedActor)
65 tet_infoline("Verifying FocusChangedCallback()");
67 if(originalFocusedActor == mCurrentFocusedActor)
69 mSignalVerified = true;
72 mOriginalFocusedActor = originalFocusedActor;
73 mCurrentFocusedActor = currentFocusedActor;
78 mSignalVerified = false;
81 bool& mSignalVerified;
82 Actor mOriginalFocusedActor;
83 Actor mCurrentFocusedActor;
86 // Functors to test whether focus overshot signal is emitted when there is no way to move focus further.
87 class FocusOvershotCallback : public Dali::ConnectionTracker
90 FocusOvershotCallback(bool& signalReceived)
91 : mSignalVerified(signalReceived),
92 mCurrentFocusedActor(),
93 mFocusOvershotDirection(Toolkit::AccessibilityManager::OVERSHOT_NEXT)
97 void Callback(Actor currentFocusedActor, Toolkit::AccessibilityManager::FocusOvershotDirection direction)
99 tet_infoline("Verifying FocusOvershotCallback()");
101 if(currentFocusedActor == mCurrentFocusedActor && direction == mFocusOvershotDirection)
103 mSignalVerified = true;
109 mSignalVerified = false;
112 bool& mSignalVerified;
113 Actor mCurrentFocusedActor;
114 Toolkit::AccessibilityManager::FocusOvershotDirection mFocusOvershotDirection;
117 // Functor to test whether focused actor activated signal is emitted.
118 class FocusedActorActivatedCallback : public Dali::ConnectionTracker
121 FocusedActorActivatedCallback()
125 void Callback(Actor activatedActor)
127 tet_infoline("Verifying FocusedActorActivatedCallback()");
134 int UtcDaliAccessibilityManagerGet(void)
136 ToolkitTestApplication application;
138 tet_infoline(" UtcDaliAccessibilityManagerGet");
140 AccessibilityManager manager;
142 //Ensure object is created by checking if it's registered
143 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
144 DALI_TEST_CHECK(registry);
146 gObjectCreatedCallBackCalled = false;
147 registry.ObjectCreatedSignal().Connect( &TestCallback );
149 manager = AccessibilityManager::Get();
150 DALI_TEST_CHECK(manager);
152 DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
154 AccessibilityManager newManager = AccessibilityManager::Get();
155 DALI_TEST_CHECK(newManager);
157 // Check that accessibility manager is a singleton
158 DALI_TEST_CHECK(manager == newManager);
162 int UtcDaliAccessibilityManagerSetAndGetAccessibilityAttribute(void)
164 ToolkitTestApplication application;
166 tet_infoline(" UtcDaliAccessibilityManagerSetAndGetAccessibilityAttribute");
168 AccessibilityManager manager = AccessibilityManager::Get();
169 DALI_TEST_CHECK(manager);
171 Actor actor = Actor::New();
172 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, AccessibilityManager::ACCESSIBILITY_LABEL) == "");
174 manager.SetAccessibilityAttribute(actor, AccessibilityManager::ACCESSIBILITY_LABEL, "Description");
175 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, AccessibilityManager::ACCESSIBILITY_LABEL) == "Description");
177 manager.SetAccessibilityAttribute(actor, AccessibilityManager::ACCESSIBILITY_LABEL, "New description");
178 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, AccessibilityManager::ACCESSIBILITY_LABEL) == "New description");
182 int UtcDaliAccessibilityManagerSetAndGetFocusOrder(void)
184 ToolkitTestApplication application;
186 tet_infoline(" UtcDaliAccessibilityManagerSetAndGetFocusOrder");
188 AccessibilityManager manager = AccessibilityManager::Get();
189 DALI_TEST_CHECK(manager);
191 Actor first = Actor::New();
192 Actor second = Actor::New();
193 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
194 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 0);
196 // Set the focus order and description for the first actor
197 manager.SetFocusOrder(first, 1);
198 manager.SetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
199 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
200 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
202 // Set the focus order and description for the second actor
203 manager.SetFocusOrder(second, 2);
204 manager.SetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL, "second");
205 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
206 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
208 // check that the focus order of the first actor is changed
209 manager.SetFocusOrder(first, 2);
210 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 2);
211 // make sure the change of focus order doesn't affect the actor's description
212 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
214 // check that the focus order of the second actor is increased to 3
215 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 3);
216 // make sure the change of focus order doesn't affect the actor's description
217 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
219 // check that the focus order of the second actor is changed to 1
220 manager.SetFocusOrder(second, 1);
221 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 1);
222 // make sure the change of focus order doesn't affect the actor's description
223 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
225 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
226 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
227 accAdaptor.HandleActionEnableEvent();
229 // Set the focus order and description for the third actor
230 Actor third = Actor::New();
231 manager.SetFocusOrder(third, 1);
232 manager.SetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL, "third");
233 DALI_TEST_CHECK(manager.GetFocusOrder(third) == 1);
234 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
236 // check that the focus order of the second actor is increased to 2.
237 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
238 // make sure the change of focus order doesn't affect the actor's description
239 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
241 // check that the focus order of the first actor is increased to 3.
242 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 3);
243 // make sure the change of focus order doesn't affect the actor's description
244 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
248 int UtcDaliAccessibilityManagerGenerateNewFocusOrder(void)
250 ToolkitTestApplication application;
252 tet_infoline(" UtcDaliAccessibilityManagerGenerateNewFocusOrder");
254 AccessibilityManager manager = AccessibilityManager::Get();
255 DALI_TEST_CHECK(manager);
257 DALI_TEST_CHECK(1 == manager.GenerateNewFocusOrder());
258 DALI_TEST_CHECK(1 == manager.GenerateNewFocusOrder());
260 Actor first = Actor::New();
261 Actor second = Actor::New();
263 // Set the focus order for the first actor
264 manager.SetFocusOrder(first, 1);
265 manager.SetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
266 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
268 //Test for new focus order
269 DALI_TEST_CHECK(2 == manager.GenerateNewFocusOrder());
271 // Set the focus order for the first actor
272 manager.SetFocusOrder(second, 2);
273 manager.SetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
274 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
278 int UtcDaliAccessibilityManagerGetActorByFocusOrder(void)
280 ToolkitTestApplication application;
282 tet_infoline(" UtcDaliAccessibilityManagerGetActorByFocusOrder");
284 AccessibilityManager manager = AccessibilityManager::Get();
285 DALI_TEST_CHECK(manager);
287 // Create the actors and set their focus orders
288 Actor first = Actor::New();
289 manager.SetFocusOrder(first, 1);
291 Actor second = Actor::New();
292 manager.SetFocusOrder(second, 2);
294 Actor third = Actor::New();
295 manager.SetFocusOrder(third, 3);
297 // Check that we get an empty handle as no actor is added to the stage yet.
298 DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == Actor());
299 DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == Actor());
300 DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == Actor());
302 // Add the actors to the stage
303 Stage::GetCurrent().Add(first);
304 Stage::GetCurrent().Add(second);
305 Stage::GetCurrent().Add(third);
307 // Check that we get an empty handle because focus order 0 means undefined.
308 DALI_TEST_CHECK(manager.GetActorByFocusOrder(0) == Actor());
310 // Check that we get correct actors for the specified focus orders
311 DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == first);
312 DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == second);
313 DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == third);
315 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
316 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
317 accAdaptor.HandleActionEnableEvent();
319 // Change the focus order of the third actor to 1
320 manager.SetFocusOrder(third, 1);
322 // Check that we still get correct actors after changing their focus orders
323 DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == third);
324 DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == first);
325 DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == second);
327 // Check that we get an empty handle because no actor has a focus order of 4
328 DALI_TEST_CHECK(manager.GetActorByFocusOrder(4) == Actor());
332 int UtcDaliAccessibilityManagerSetAndGetCurrentFocusActor(void)
334 ToolkitTestApplication application;
336 tet_infoline(" UtcDaliAccessibilityManagerSetAndGetCurrentFocusActor");
338 AccessibilityManager manager = AccessibilityManager::Get();
339 DALI_TEST_CHECK(manager);
341 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
342 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
343 accAdaptor.HandleActionEnableEvent();
345 // Create the first actor and add it to the stage
346 Actor first = Actor::New();
347 manager.SetFocusOrder(first, 1);
348 Stage::GetCurrent().Add(first);
350 // Create the second actor and add it to the stage
351 Actor second = Actor::New();
352 manager.SetFocusOrder(second, 2);
353 Stage::GetCurrent().Add(second);
355 // Create the third actor but don't add it to the stage
356 Actor third = Actor::New();
357 manager.SetFocusOrder(third, 3);
359 // Check that no actor is being focused yet.
360 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
362 // Check that it will fail to set focus on an invalid actor
363 DALI_TEST_CHECK(manager.SetCurrentFocusActor(Actor()) == false);
365 // Check that the focus is set on the first actor
366 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
367 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
369 // Check that the focus is set on the second actor
370 DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
371 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
373 // Check that it will fail to set focus on the third actor as it's not in the stage
374 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
376 // Add the third actor to the stage
377 Stage::GetCurrent().Add(third);
379 // make the third actor invisible
380 third.SetVisible(false);
381 // flush the queue and render once
382 application.SendNotification();
383 application.Render();
385 // Check that it will fail to set focus on the third actor as it's invisible
386 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
388 // Make the third actor visible
389 third.SetVisible(true);
390 // flush the queue and render once
391 application.SendNotification();
392 application.Render();
394 // Make the third actor not focusable
395 Property::Index propertyActorFocusable = third.GetPropertyIndex("focusable");
396 third.SetProperty(propertyActorFocusable, false);
397 // flush the queue and render once
398 application.SendNotification();
399 application.Render();
401 // Check that it will fail to set focus on the third actor as it's not focusable
402 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
404 // Make the third actor focusable
405 third.SetProperty(propertyActorFocusable, true);
406 // flush the queue and render once
407 application.SendNotification();
408 application.Render();
410 // Check that the focus is successfully moved to the third actor
411 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
413 // Make the current focused actor to be not focusable by setting its focus order to be 0
414 manager.SetFocusOrder(third, 0);
416 // Check that the focus is automatically cleared
417 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
419 // Set the focus order of the third actor again
420 manager.SetFocusOrder(third, 3);
422 // Check that the third actor can be focused successfully now
423 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
427 int UtcDaliAccessibilityManagerGetCurrentFocusGroup(void)
429 ToolkitTestApplication application;
431 tet_infoline(" UtcDaliAccessibilityManagerGetCurrentFocusGroup");
433 AccessibilityManager manager = AccessibilityManager::Get();
434 DALI_TEST_CHECK(manager);
436 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
437 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
438 accAdaptor.HandleActionEnableEvent();
440 // Create an actor with two child actors and add it to the stage
441 Actor parent = Actor::New();
442 Actor firstChild = Actor::New();
443 Actor secondChild = Actor::New();
444 parent.Add(firstChild);
445 parent.Add(secondChild);
446 Stage::GetCurrent().Add(parent);
448 // Create three actors and add them as the children of the first child actor
449 Actor firstGrandChild = Actor::New();
450 Actor secondGrandChild = Actor::New();
451 Actor thirdGrandChild = Actor::New();
452 firstChild.Add(firstGrandChild);
453 firstChild.Add(secondGrandChild);
454 firstChild.Add(thirdGrandChild);
456 // Set focus order to the actors
457 manager.SetFocusOrder(parent, 1);
458 manager.SetFocusOrder(firstChild, 2);
459 manager.SetFocusOrder(firstGrandChild, 3);
460 manager.SetFocusOrder(secondGrandChild, 4);
461 manager.SetFocusOrder(thirdGrandChild, 5);
462 manager.SetFocusOrder(secondChild, 6);
464 // Set the parent and the first child actor as focus groups
465 manager.SetFocusGroup(parent, true);
466 DALI_TEST_CHECK(manager.IsFocusGroup(parent) == true);
468 // Set focus to the first grand child actor
469 DALI_TEST_CHECK(manager.SetCurrentFocusActor(firstGrandChild) == true);
470 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
472 // The current focus group should be the parent, As it is the immediate parent which is also a focus group.
473 DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == parent);
475 manager.SetFocusGroup(firstChild, true);
476 DALI_TEST_CHECK(manager.IsFocusGroup(firstChild) == true);
478 // The current focus group should be the firstChild, As it is the immediate parent which is also a focus group.
479 DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstChild);
481 manager.SetFocusGroup(firstGrandChild, true);
482 DALI_TEST_CHECK(manager.IsFocusGroup(firstGrandChild) == true);
484 // The current focus group should be itself, As it is also a focus group.
485 DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstGrandChild);
487 // Set focus to the second grand child actor
488 DALI_TEST_CHECK(manager.SetCurrentFocusActor(secondGrandChild) == true);
489 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
491 // The current focus group should be the firstChild, As it is the immediate parent which is also a
492 // focus group for the current focus actor.
493 DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstChild);
498 int UtcDaliAccessibilityManagerGetCurrentFocusOrder(void)
500 ToolkitTestApplication application;
502 tet_infoline(" UtcDaliAccessibilityManagerGetCurrentFocusOrder");
504 AccessibilityManager manager = AccessibilityManager::Get();
505 DALI_TEST_CHECK(manager);
507 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
508 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
509 accAdaptor.HandleActionEnableEvent();
511 Actor first = Actor::New();
512 Stage::GetCurrent().Add(first);
514 Actor second = Actor::New();
515 Stage::GetCurrent().Add(second);
517 Actor third = Actor::New();
518 Stage::GetCurrent().Add(third);
520 // Set the focus order and description for the first actor
521 manager.SetFocusOrder(first, 1);
522 manager.SetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
523 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
524 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
526 // Set the focus order and description for the second actor
527 manager.SetFocusOrder(second, 2);
528 manager.SetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL, "second");
529 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
530 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
532 // Set the focus order and description for the second actor
533 manager.SetFocusOrder(third, 3);
534 manager.SetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL, "third");
535 DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
536 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
538 // Check that no actor is being focused yet.
539 DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 0);
541 // Set the focus on the first actor and test
542 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
543 DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 1);
545 // Move the focus forward to the second actor and test
546 manager.MoveFocusForward();
547 DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 2);
549 // Move the focus forward to the third actor and test
550 manager.MoveFocusForward();
551 DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 3);
553 // Clear focus and test
554 manager.ClearFocus();
555 DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 0);
559 int UtcDaliAccessibilityManagerMoveFocusForward(void)
561 ToolkitTestApplication application;
563 tet_infoline(" UtcDaliAccessibilityManagerMoveFocusForward");
565 AccessibilityManager manager = AccessibilityManager::Get();
566 DALI_TEST_CHECK(manager);
568 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
569 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
570 accAdaptor.HandleActionEnableEvent();
572 Actor first = Actor::New();
573 Stage::GetCurrent().Add(first);
575 Actor second = Actor::New();
576 Stage::GetCurrent().Add(second);
578 Actor third = Actor::New();
579 Stage::GetCurrent().Add(third);
581 // Set the focus order and description for the first actor
582 manager.SetFocusOrder(first, 1);
583 manager.SetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
584 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
585 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
587 // Set the focus order and description for the second actor
588 manager.SetFocusOrder(second, 2);
589 manager.SetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL, "second");
590 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
591 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
593 // Set the focus order and description for the second actor
594 manager.SetFocusOrder(third, 3);
595 manager.SetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL, "third");
596 DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
597 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
599 // Check that no actor is being focused yet.
600 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
602 // Set the focus on the first actor
603 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
604 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
605 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
607 // Test the non-wrapped move first
608 manager.SetWrapMode(false);
609 DALI_TEST_CHECK(manager.GetWrapMode() == false);
611 // Move the focus forward to the second actor
612 manager.MoveFocusForward();
613 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
614 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
616 // Move the focus forward to the third actor
617 manager.MoveFocusForward();
618 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
619 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
621 // Check that it will fail to move the focus forward again as the third actor is the last
622 // focusable actor in the focus chain
623 manager.MoveFocusForward();
624 // The focus should still be set on the third actor
625 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
626 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
628 // Now test the wrapped move
629 manager.SetWrapMode(true);
630 DALI_TEST_CHECK(manager.GetWrapMode() == true);
632 // Move the focus forward recursively and this time the first actor should be focused
633 manager.MoveFocusForward();
634 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
635 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
637 // Make the second actor not focusable
638 Property::Index propertyActorFocusable = second.GetPropertyIndex("focusable");
639 second.SetProperty(propertyActorFocusable, false);
640 // flush the queue and render once
641 application.SendNotification();
642 application.Render();
644 // Move the focus forward and check that the second actor should be skipped and
645 // the third actor should be focused now.
646 manager.MoveFocusForward();
647 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
648 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
650 // Make the first actor invisible
651 first.SetVisible(false);
652 // flush the queue and render once
653 application.SendNotification();
654 application.Render();
656 // Move the focus forward and check that the first actor should be skipped as it's
657 // invisible and the second actor should also be skipped as it's not focusable,
658 // so the focus will still be on the third actor
659 manager.MoveFocusForward();
660 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
661 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
663 // Make the third actor invisible so that no actor can be focused.
664 third.SetVisible(false);
665 // flush the queue and render once
666 application.SendNotification();
667 application.Render();
669 // Check that the focus move is failed as all the three actors can not be focused
670 manager.MoveFocusForward();
671 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
672 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
676 int UtcDaliAccessibilityManagerMoveFocusBackward(void)
678 ToolkitTestApplication application;
680 tet_infoline(" UtcDaliAccessibilityManagerMoveFocusBackward");
682 AccessibilityManager manager = AccessibilityManager::Get();
683 DALI_TEST_CHECK(manager);
685 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
686 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
687 accAdaptor.HandleActionEnableEvent();
689 Actor first = Actor::New();
690 Stage::GetCurrent().Add(first);
692 Actor second = Actor::New();
693 Stage::GetCurrent().Add(second);
695 Actor third = Actor::New();
696 Stage::GetCurrent().Add(third);
698 // Set the focus order and description for the first actor
699 manager.SetFocusOrder(first, 1);
700 manager.SetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL, "first");
701 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
702 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
704 // Set the focus order and description for the second actor
705 manager.SetFocusOrder(second, 2);
706 manager.SetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL, "second");
707 DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
708 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
710 // Set the focus order and description for the second actor
711 manager.SetFocusOrder(third, 3);
712 manager.SetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL, "third");
713 DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
714 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
716 // Check that no actor is being focused yet.
717 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
719 // Set the focus on the third actor
720 DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
721 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
722 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
724 // Test the non-wrapped move first
725 manager.SetWrapMode(false);
726 DALI_TEST_CHECK(manager.GetWrapMode() == false);
728 // Move the focus backward to the second actor
729 manager.MoveFocusBackward();
730 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
731 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "second");
733 // Move the focus backward to the first actor
734 manager.MoveFocusBackward();
735 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
736 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
738 // Check that it will fail to move the focus backward again as the first actor is the first
739 // focusable actor in the focus chain
740 manager.MoveFocusBackward();
741 // The focus should still be set on the first actor
742 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
743 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
745 // Now test the wrapped move
746 manager.SetWrapMode(true);
747 DALI_TEST_CHECK(manager.GetWrapMode() == true);
749 // Move the focus backward recursively and this time the third actor should be focused
750 manager.MoveFocusBackward();
751 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
752 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "third");
754 // Make the second actor not focusable
755 Property::Index propertyActorFocusable = second.GetPropertyIndex("focusable");
756 second.SetProperty(propertyActorFocusable, false);
757 // flush the queue and render once
758 application.SendNotification();
759 application.Render();
761 // Move the focus backward and check that the second actor should be skipped and
762 // the first actor should be focused now.
763 manager.MoveFocusBackward();
764 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
765 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
767 // Make the third actor invisible
768 third.SetVisible(false);
769 // flush the queue and render once
770 application.SendNotification();
771 application.Render();
773 // Move the focus backward and check that the third actor should be skipped as it's
774 // invisible and the second actor should also be skipped as it's not focusable,
775 // so the focus will still be on the first actor
776 manager.MoveFocusBackward();
777 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
778 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
780 // Make the first actor invisible so that no actor can be focused.
781 first.SetVisible(false);
782 // flush the queue and render once
783 application.SendNotification();
784 application.Render();
786 // Check that the focus move is failed as all the three actors can not be focused
787 manager.MoveFocusBackward();
788 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
789 DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), AccessibilityManager::ACCESSIBILITY_LABEL) == "first");
793 int UtcDaliAccessibilityManagerClearFocus(void)
795 ToolkitTestApplication application;
797 tet_infoline(" UtcDaliAccessibilityManagerClearFocus");
799 AccessibilityManager manager = AccessibilityManager::Get();
800 DALI_TEST_CHECK(manager);
802 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
803 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
804 accAdaptor.HandleActionEnableEvent();
806 // Create the first actor and add it to the stage
807 Actor first = Actor::New();
808 manager.SetFocusOrder(first, 1);
809 Stage::GetCurrent().Add(first);
811 // Create the second actor and add it to the stage
812 Actor second = Actor::New();
813 manager.SetFocusOrder(second, 2);
814 Stage::GetCurrent().Add(second);
816 // Check that no actor is being focused yet.
817 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
819 // Check that the focus is set on the first actor
820 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
821 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
823 // Check that the focus is set on the second actor
824 DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
825 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
828 manager.ClearFocus();
830 // Check that no actor is being focused now.
831 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
835 int UtcDaliAccessibilityManagerReset(void)
837 ToolkitTestApplication application;
839 tet_infoline(" UtcDaliAccessibilityManagerReset");
841 AccessibilityManager manager = AccessibilityManager::Get();
842 DALI_TEST_CHECK(manager);
844 // Create the first actor and add it to the stage
845 Actor first = Actor::New();
846 manager.SetFocusOrder(first, 1);
847 Stage::GetCurrent().Add(first);
849 // Create the second actor and add it to the stage
850 Actor second = Actor::New();
851 manager.SetFocusOrder(second, 2);
852 Stage::GetCurrent().Add(second);
854 // Check that no actor is being focused yet.
855 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
857 // Check that the focus is set on the first actor
858 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
859 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
861 // Check that the focus is set on the second actor
862 DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
863 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
868 // Check that no actor is being focused now and the focus order of actors have been cleared
869 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
870 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
871 DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
875 int UtcDaliAccessibilityManagerFocusGroup(void)
877 ToolkitTestApplication application;
879 tet_infoline(" UtcDaliAccessibilityManagerFocusGroup");
881 AccessibilityManager manager = AccessibilityManager::Get();
882 DALI_TEST_CHECK(manager);
884 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
885 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
886 accAdaptor.HandleActionEnableEvent();
888 // Create an actor with two child actors and add it to the stage
889 Actor parent = Actor::New();
890 Actor firstChild = Actor::New();
891 Actor secondChild = Actor::New();
892 parent.Add(firstChild);
893 parent.Add(secondChild);
894 Stage::GetCurrent().Add(parent);
896 // Create three actors and add them as the children of the first child actor
897 Actor firstGrandChild = Actor::New();
898 Actor secondGrandChild = Actor::New();
899 Actor thirdGrandChild = Actor::New();
900 firstChild.Add(firstGrandChild);
901 firstChild.Add(secondGrandChild);
902 firstChild.Add(thirdGrandChild);
904 // Set focus order to the actors
905 manager.SetFocusOrder(parent, 1);
906 manager.SetFocusOrder(firstChild, 2);
907 manager.SetFocusOrder(firstGrandChild, 3);
908 manager.SetFocusOrder(secondGrandChild, 4);
909 manager.SetFocusOrder(thirdGrandChild, 5);
910 manager.SetFocusOrder(secondChild, 6);
912 // Set the parent and the first child actor as focus groups
913 manager.SetFocusGroup(parent, true);
914 DALI_TEST_CHECK(manager.IsFocusGroup(parent) == true);
916 // The focus group of the parent should be itself, as it is set to be a focus group.
917 DALI_TEST_CHECK(manager.GetFocusGroup(parent) == parent);
919 // The focus group of the firstChild should be its parent, as it is the immediate parent which is also a group.
920 DALI_TEST_CHECK(manager.GetFocusGroup(firstChild) == parent);
922 manager.SetFocusGroup(firstChild, true);
923 DALI_TEST_CHECK(manager.IsFocusGroup(firstChild) == true);
925 // The focus group of the firstChild should be itself, as it is set to be a focus group now.
926 DALI_TEST_CHECK(manager.GetFocusGroup(firstChild) == firstChild);
928 // Enable wrap mode for focus movement.
929 manager.SetWrapMode(true);
930 DALI_TEST_CHECK(manager.GetWrapMode() == true);
932 // Check that no actor is being focused yet.
933 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
935 // Check that the focus is set on the parent actor.
936 DALI_TEST_CHECK(manager.SetCurrentFocusActor(parent) == true);
937 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == parent);
939 // Check that group mode is disabled.
940 DALI_TEST_CHECK(manager.GetGroupMode() == false);
942 // Check that the focus movement is wrapped as normal.
943 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
944 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
945 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
946 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
947 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
948 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
949 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
950 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == thirdGrandChild);
951 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
952 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondChild);
953 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
954 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == parent);
955 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
956 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
957 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
958 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
960 // Enable the group mode.
961 manager.SetGroupMode(true);
962 DALI_TEST_CHECK(manager.GetGroupMode() == true);
964 // Check that the focus movement is now limited to the current focus group.
965 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
966 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
967 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
968 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == thirdGrandChild);
969 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
970 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
971 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
972 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
976 int UtcDaliAccessibilityManagerSetAndGetFocusIndicator(void)
978 ToolkitTestApplication application;
980 tet_infoline(" UtcDaliAccessibilityManagerSetAndGetFocusIndicator");
982 AccessibilityManager manager = AccessibilityManager::Get();
983 DALI_TEST_CHECK(manager);
985 Actor defaultFocusIndicatorActor = manager.GetFocusIndicatorActor();
986 DALI_TEST_CHECK(defaultFocusIndicatorActor);
988 Actor newFocusIndicatorActor = Actor::New();
989 manager.SetFocusIndicatorActor(newFocusIndicatorActor);
990 DALI_TEST_CHECK(manager.GetFocusIndicatorActor() == newFocusIndicatorActor);
994 int UtcDaliAccessibilityManagerSignalFocusChanged(void)
996 ToolkitTestApplication application;
998 tet_infoline(" UtcDaliAccessibilityManagerSignalFocusChanged");
1000 AccessibilityManager manager = AccessibilityManager::Get();
1001 DALI_TEST_CHECK(manager);
1003 bool signalVerified = false;
1004 FocusChangedCallback callback(signalVerified);
1005 manager.FocusChangedSignal().Connect( &callback, &FocusChangedCallback::Callback );
1007 // Create the first actor and add it to the stage
1008 Actor first = Actor::New();
1009 manager.SetFocusOrder(first, 1);
1010 Stage::GetCurrent().Add(first);
1012 // Create the second actor and add it to the stage
1013 Actor second = Actor::New();
1014 manager.SetFocusOrder(second, 2);
1015 Stage::GetCurrent().Add(second);
1017 // Check that no actor is being focused yet.
1018 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
1020 // Check that the focus is set on the first actor
1021 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
1022 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
1023 DALI_TEST_CHECK(callback.mSignalVerified);
1026 // Check that the focus is set on the second actor
1027 DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
1028 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
1029 DALI_TEST_CHECK(callback.mSignalVerified);
1033 manager.ClearFocus();
1035 // Check that no actor is being focused now.
1036 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
1037 DALI_TEST_CHECK(callback.mSignalVerified);
1041 int UtcDaliAccessibilityManagerSignalFocusOvershot(void)
1043 ToolkitTestApplication application;
1045 tet_infoline(" UtcDaliAccessibilityManagerSignalFocusOvershot");
1047 AccessibilityManager manager = AccessibilityManager::Get();
1048 DALI_TEST_CHECK(manager);
1050 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1051 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1052 accAdaptor.HandleActionEnableEvent();
1054 bool signalVerified = false;
1055 FocusOvershotCallback callback(signalVerified);
1056 manager.FocusOvershotSignal().Connect(&callback, &FocusOvershotCallback::Callback);
1058 // Create the first actor and add it to the stage
1059 Actor first = Actor::New();
1060 manager.SetFocusOrder(first, 1);
1061 Stage::GetCurrent().Add(first);
1063 // Create the second actor and add it to the stage
1064 Actor second = Actor::New();
1065 manager.SetFocusOrder(second, 2);
1066 Stage::GetCurrent().Add(second);
1068 // Check that the wrap mode is disabled
1069 DALI_TEST_CHECK(manager.GetWrapMode() == false);
1071 // Check that the focus is set on the first actor
1072 DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
1073 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
1075 // Check that the focus is moved to the second actor successfully.
1076 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
1077 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
1079 // Check that the forward focus movement is overshot.
1080 callback.mCurrentFocusedActor = second;
1081 callback.mFocusOvershotDirection = Toolkit::AccessibilityManager::OVERSHOT_NEXT;
1082 DALI_TEST_CHECK(manager.MoveFocusForward() == false);
1083 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
1084 DALI_TEST_CHECK(signalVerified);
1087 // Enable the wrap mode
1088 manager.SetWrapMode(true);
1089 DALI_TEST_CHECK(manager.GetWrapMode() == true);
1091 // Check that the forward focus movement is wrapped and no overshot happens.
1092 DALI_TEST_CHECK(manager.MoveFocusForward() == true);
1093 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
1094 DALI_TEST_CHECK(signalVerified == false);
1096 // Disable the wrap mode
1097 manager.SetWrapMode(false);
1098 DALI_TEST_CHECK(manager.GetWrapMode() == false);
1100 // Check that the backward focus movement is overshot.
1101 callback.mCurrentFocusedActor = first;
1102 callback.mFocusOvershotDirection = Toolkit::AccessibilityManager::OVERSHOT_PREVIOUS;
1103 DALI_TEST_CHECK(manager.MoveFocusBackward() == false);
1104 DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
1105 DALI_TEST_CHECK(signalVerified);
1109 int UtcDaliAccessibilityManagerSignalFocusedActorActivated(void)
1111 ToolkitTestApplication application;
1113 tet_infoline(" UtcDaliAccessibilityManagerSignalFocusedActorActivated");
1115 AccessibilityManager manager = AccessibilityManager::Get();
1116 DALI_TEST_CHECK(manager);
1118 FocusedActorActivatedCallback callback;
1119 manager.FocusedActorActivatedSignal().Connect(&callback, &FocusedActorActivatedCallback::Callback);
1120 DALI_TEST_CHECK(true);
1125 // Note: No negative test for GetReadPosition as it will always return something.
1126 int UtcDaliAccessibilityManagerGetReadPositionP(void)
1128 ToolkitTestApplication application;
1129 tet_infoline(" UtcDaliAccessibilityManagerGetReadPositionP");
1131 AccessibilityManager manager = AccessibilityManager::Get();
1132 DALI_TEST_CHECK( manager );
1134 Vector2 readPosition( manager.GetReadPosition() );
1135 DALI_TEST_EQUALS( readPosition.x, 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION );
1136 DALI_TEST_EQUALS( readPosition.y, 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION );
1141 // Functor to test if an accessibility signal has been called.
1142 class AccessibilityManagerSignalHandler : public Dali::ConnectionTracker
1145 AccessibilityManagerSignalHandler() :
1150 bool Callback( AccessibilityManager& accessibilityManager )
1153 tet_infoline( "Signal called" );
1157 unsigned int GetCalls() const
1163 unsigned int mCalls; ///< Keeps track of how many times the signal has been called.
1166 int UtcDaliAccessibilityManagerStatusChangedSignalP(void)
1168 ToolkitTestApplication application;
1169 tet_infoline( " UtcDaliAccessibilityManagerStatusChangedSignalP" );
1171 AccessibilityManagerSignalHandler callback;
1173 AccessibilityManager manager = AccessibilityManager::Get();
1174 DALI_TEST_CHECK( manager );
1176 manager.StatusChangedSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1178 // Cause a state change.
1179 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1180 accessibilityAdaptor.HandleActionEnableEvent();
1182 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1187 int UtcDaliAccessibilityManagerStatusChangedSignalN(void)
1189 ToolkitTestApplication application;
1190 tet_infoline( " UtcDaliAccessibilityManagerStatusChangedSignalN" );
1192 AccessibilityManagerSignalHandler callback;
1194 AccessibilityManager manager = AccessibilityManager::Get();
1195 DALI_TEST_CHECK( manager );
1197 manager.StatusChangedSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1198 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1203 int UtcDaliAccessibilityManagerActionNextSignalP(void)
1205 ToolkitTestApplication application;
1206 tet_infoline( " UtcDaliAccessibilityManagerActionNextSignalP" );
1208 AccessibilityManagerSignalHandler callback;
1210 AccessibilityManager manager = AccessibilityManager::Get();
1211 DALI_TEST_CHECK( manager );
1213 manager.ActionNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1215 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1216 accessibilityAdaptor.HandleActionNextEvent();
1218 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1223 int UtcDaliAccessibilityManagerActionNextSignalN(void)
1225 ToolkitTestApplication application;
1226 tet_infoline( " UtcDaliAccessibilityManagerActionNextSignalN" );
1228 AccessibilityManagerSignalHandler callback;
1230 AccessibilityManager manager = AccessibilityManager::Get();
1231 DALI_TEST_CHECK( manager );
1233 manager.ActionNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1234 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1239 int UtcDaliAccessibilityManagerActionPreviousSignalP(void)
1241 ToolkitTestApplication application;
1242 tet_infoline( " UtcDaliAccessibilityManagerActionPreviousSignalP" );
1244 AccessibilityManagerSignalHandler callback;
1246 AccessibilityManager manager = AccessibilityManager::Get();
1247 DALI_TEST_CHECK( manager );
1249 manager.ActionPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1251 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1252 accessibilityAdaptor.HandleActionPreviousEvent();
1254 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1259 int UtcDaliAccessibilityManagerActionPreviousSignalN(void)
1261 ToolkitTestApplication application;
1262 tet_infoline( " UtcDaliAccessibilityManagerActionPreviousSignalN" );
1264 AccessibilityManagerSignalHandler callback;
1266 AccessibilityManager manager = AccessibilityManager::Get();
1267 DALI_TEST_CHECK( manager );
1269 manager.ActionPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1270 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1275 int UtcDaliAccessibilityManagerActionActivateSignalP(void)
1277 ToolkitTestApplication application;
1278 tet_infoline( " UtcDaliAccessibilityManagerActionActivateSignalP" );
1280 AccessibilityManagerSignalHandler callback;
1282 AccessibilityManager manager = AccessibilityManager::Get();
1283 DALI_TEST_CHECK( manager );
1285 manager.ActionActivateSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1287 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1288 accessibilityAdaptor.HandleActionActivateEvent();
1290 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1295 int UtcDaliAccessibilityManagerActionActivateSignalN(void)
1297 ToolkitTestApplication application;
1298 tet_infoline( " UtcDaliAccessibilityManagerActionActivateSignalN" );
1300 AccessibilityManagerSignalHandler callback;
1302 AccessibilityManager manager = AccessibilityManager::Get();
1303 DALI_TEST_CHECK( manager );
1305 manager.ActionActivateSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1306 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1311 int UtcDaliAccessibilityManagerActionReadSignalP(void)
1313 ToolkitTestApplication application;
1314 tet_infoline( " UtcDaliAccessibilityManagerActionReadSignalP" );
1316 AccessibilityManagerSignalHandler callback;
1318 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1319 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1320 accAdaptor.HandleActionEnableEvent();
1322 AccessibilityManager manager = AccessibilityManager::Get();
1323 DALI_TEST_CHECK( manager );
1325 manager.ActionReadSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1327 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1328 accessibilityAdaptor.HandleActionReadEvent( 100.0f, 200.0f, true );
1330 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1335 int UtcDaliAccessibilityManagerActionReadSignalN(void)
1337 ToolkitTestApplication application;
1338 tet_infoline( " UtcDaliAccessibilityManagerActionReadSignalN" );
1340 AccessibilityManagerSignalHandler callback;
1342 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1343 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1344 accAdaptor.HandleActionEnableEvent();
1346 AccessibilityManager manager = AccessibilityManager::Get();
1347 DALI_TEST_CHECK( manager );
1349 manager.ActionReadSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1350 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1355 int UtcDaliAccessibilityManagerActionOverSignalP(void)
1357 ToolkitTestApplication application;
1358 tet_infoline( " UtcDaliAccessibilityManagerActionOverSignalP" );
1360 AccessibilityManagerSignalHandler callback;
1362 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1363 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1364 accAdaptor.HandleActionEnableEvent();
1366 AccessibilityManager manager = AccessibilityManager::Get();
1367 DALI_TEST_CHECK( manager );
1369 manager.ActionOverSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1371 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1372 // Note that the ActionOverSignal is provoked by a read even when "allow read again" is set to false.
1373 accessibilityAdaptor.HandleActionReadEvent( 100.0f, 200.0f, false );
1375 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1380 int UtcDaliAccessibilityManagerActionOverSignalN(void)
1382 ToolkitTestApplication application;
1383 tet_infoline( " UtcDaliAccessibilityManagerActionOverSignalN" );
1385 AccessibilityManagerSignalHandler callback;
1387 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1388 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1389 accAdaptor.HandleActionEnableEvent();
1391 AccessibilityManager manager = AccessibilityManager::Get();
1392 DALI_TEST_CHECK( manager );
1394 manager.ActionOverSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1395 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1400 int UtcDaliAccessibilityManagerActionReadNextSignalP(void)
1402 ToolkitTestApplication application;
1403 tet_infoline( " UtcDaliAccessibilityManagerActionReadNextSignalP" );
1405 AccessibilityManagerSignalHandler callback;
1407 AccessibilityManager manager = AccessibilityManager::Get();
1408 DALI_TEST_CHECK( manager );
1410 manager.ActionReadNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1412 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1413 accessibilityAdaptor.HandleActionReadNextEvent();
1415 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1420 int UtcDaliAccessibilityManagerActionReadNextSignalN(void)
1422 ToolkitTestApplication application;
1423 tet_infoline( " UtcDaliAccessibilityManagerActionReadNextSignalN" );
1425 AccessibilityManagerSignalHandler callback;
1427 AccessibilityManager manager = AccessibilityManager::Get();
1428 DALI_TEST_CHECK( manager );
1430 manager.ActionReadNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1431 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1436 int UtcDaliAccessibilityManagerActionReadPreviousSignalP(void)
1438 ToolkitTestApplication application;
1439 tet_infoline( " UtcDaliAccessibilityManagerActionReadPreviousSignalP" );
1441 AccessibilityManagerSignalHandler callback;
1443 AccessibilityManager manager = AccessibilityManager::Get();
1444 DALI_TEST_CHECK( manager );
1446 manager.ActionReadPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1448 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1449 accessibilityAdaptor.HandleActionReadPreviousEvent();
1451 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1456 int UtcDaliAccessibilityManagerActionReadPreviousSignalN(void)
1458 ToolkitTestApplication application;
1459 tet_infoline( " UtcDaliAccessibilityManagerActionReadPreviousSignalN" );
1461 AccessibilityManagerSignalHandler callback;
1463 AccessibilityManager manager = AccessibilityManager::Get();
1464 DALI_TEST_CHECK( manager );
1466 manager.ActionReadPreviousSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1467 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1472 int UtcDaliAccessibilityManagerActionUpSignalP(void)
1474 ToolkitTestApplication application;
1475 tet_infoline( " UtcDaliAccessibilityManagerActionUpSignalP" );
1477 AccessibilityManagerSignalHandler callback;
1479 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1480 Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true );
1481 accessibilityAdaptor.HandleActionEnableEvent();
1483 AccessibilityManager manager = AccessibilityManager::Get();
1484 DALI_TEST_CHECK( manager );
1486 manager.ActionUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1488 DummyControl dummyControl = DummyControl::New(true);
1489 dummyControl.SetSize(480, 800);
1490 manager.SetFocusOrder( dummyControl, 1 );
1491 Stage::GetCurrent().Add( dummyControl );
1492 manager.SetCurrentFocusActor( dummyControl );
1494 accessibilityAdaptor.HandleActionUpEvent();
1496 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1501 int UtcDaliAccessibilityManagerActionUpSignalN(void)
1503 ToolkitTestApplication application;
1504 tet_infoline( " UtcDaliAccessibilityManagerActionUpSignalN" );
1506 AccessibilityManagerSignalHandler callback;
1508 AccessibilityManager manager = AccessibilityManager::Get();
1509 DALI_TEST_CHECK( manager );
1511 manager.ActionUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1512 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1517 int UtcDaliAccessibilityManagerActionDownSignalP(void)
1519 ToolkitTestApplication application;
1520 tet_infoline( " UtcDaliAccessibilityManagerActionDownSignalP" );
1522 AccessibilityManagerSignalHandler callback;
1524 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1525 Test::AccessibilityAdaptor::SetEnabled( accessibilityAdaptor, true );
1526 accessibilityAdaptor.HandleActionEnableEvent();
1528 AccessibilityManager manager = AccessibilityManager::Get();
1529 DALI_TEST_CHECK( manager );
1531 manager.ActionDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1533 DummyControl dummyControl = DummyControl::New(true);
1534 dummyControl.SetSize(480, 800);
1535 manager.SetFocusOrder( dummyControl, 1 );
1536 Stage::GetCurrent().Add( dummyControl );
1537 manager.SetCurrentFocusActor( dummyControl );
1539 accessibilityAdaptor.HandleActionDownEvent();
1541 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1546 int UtcDaliAccessibilityManagerActionDownSignalN(void)
1548 ToolkitTestApplication application;
1549 tet_infoline( " UtcDaliAccessibilityManagerActionDownSignalN" );
1551 AccessibilityManagerSignalHandler callback;
1553 AccessibilityManager manager = AccessibilityManager::Get();
1554 DALI_TEST_CHECK( manager );
1556 manager.ActionDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1557 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1562 int UtcDaliAccessibilityManagerActionClearFocusSignalP(void)
1564 ToolkitTestApplication application;
1565 tet_infoline( " UtcDaliAccessibilityManagerActionClearFocusSignalP" );
1567 AccessibilityManagerSignalHandler callback;
1569 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1570 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1571 accAdaptor.HandleActionEnableEvent();
1573 AccessibilityManager manager = AccessibilityManager::Get();
1574 DALI_TEST_CHECK( manager );
1576 manager.ActionClearFocusSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1578 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1579 accessibilityAdaptor.HandleActionClearFocusEvent();
1581 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1586 int UtcDaliAccessibilityManagerActionClearFocusSignalN(void)
1588 ToolkitTestApplication application;
1589 tet_infoline( " UtcDaliAccessibilityManagerActionClearFocusSignalN" );
1591 AccessibilityManagerSignalHandler callback;
1593 AccessibilityManager manager = AccessibilityManager::Get();
1594 DALI_TEST_CHECK( manager );
1596 manager.ActionClearFocusSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1597 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1602 int UtcDaliAccessibilityManagerActionBackSignalP(void)
1604 ToolkitTestApplication application;
1605 tet_infoline( " UtcDaliAccessibilityManagerActionBackSignalP" );
1607 AccessibilityManagerSignalHandler callback;
1609 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1610 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1611 accAdaptor.HandleActionEnableEvent();
1613 AccessibilityManager manager = AccessibilityManager::Get();
1614 DALI_TEST_CHECK( manager );
1616 manager.ActionBackSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1618 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1619 accessibilityAdaptor.HandleActionBackEvent();
1621 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1626 int UtcDaliAccessibilityManagerActionBackSignalN(void)
1628 ToolkitTestApplication application;
1629 tet_infoline( " UtcDaliAccessibilityManagerActionBackSignalN" );
1631 AccessibilityManagerSignalHandler callback;
1633 AccessibilityManager manager = AccessibilityManager::Get();
1634 DALI_TEST_CHECK( manager );
1636 manager.ActionBackSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1637 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1642 int UtcDaliAccessibilityManagerActionScrollUpSignalP(void)
1644 ToolkitTestApplication application;
1645 tet_infoline( " UtcDaliAccessibilityManagerActionScrollUpSignalP" );
1647 AccessibilityManagerSignalHandler callback;
1649 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1650 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1651 accAdaptor.HandleActionEnableEvent();
1653 AccessibilityManager manager = AccessibilityManager::Get();
1654 DALI_TEST_CHECK( manager );
1656 manager.ActionScrollUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1658 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1659 accessibilityAdaptor.HandleActionScrollUpEvent();
1661 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1666 int UtcDaliAccessibilityManagerActionScrollUpSignalN(void)
1668 ToolkitTestApplication application;
1669 tet_infoline( " UtcDaliAccessibilityManagerActionScrollUpSignalN" );
1671 AccessibilityManagerSignalHandler callback;
1673 AccessibilityManager manager = AccessibilityManager::Get();
1674 DALI_TEST_CHECK( manager );
1676 manager.ActionScrollUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1677 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1682 int UtcDaliAccessibilityManagerActionScrollDownSignalP(void)
1684 ToolkitTestApplication application;
1685 tet_infoline( " UtcDaliAccessibilityManagerActionScrollDownSignalP" );
1687 AccessibilityManagerSignalHandler callback;
1689 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1690 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1691 accAdaptor.HandleActionEnableEvent();
1693 AccessibilityManager manager = AccessibilityManager::Get();
1694 DALI_TEST_CHECK( manager );
1696 manager.ActionScrollDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1698 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1699 accessibilityAdaptor.HandleActionScrollDownEvent();
1701 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1706 int UtcDaliAccessibilityManagerActionScrollDownSignalN(void)
1708 ToolkitTestApplication application;
1709 tet_infoline( " UtcDaliAccessibilityManagerActionScrollDownSignalN" );
1711 AccessibilityManagerSignalHandler callback;
1713 AccessibilityManager manager = AccessibilityManager::Get();
1714 DALI_TEST_CHECK( manager );
1716 manager.ActionScrollDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1717 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1722 int UtcDaliAccessibilityManagerActionPageLeftSignalP(void)
1724 ToolkitTestApplication application;
1725 tet_infoline( " UtcDaliAccessibilityManagerActionPageLeftSignalP" );
1727 AccessibilityManagerSignalHandler callback;
1729 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1730 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1731 accAdaptor.HandleActionEnableEvent();
1733 AccessibilityManager manager = AccessibilityManager::Get();
1734 DALI_TEST_CHECK( manager );
1736 manager.ActionPageLeftSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1738 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1739 accessibilityAdaptor.HandleActionPageLeftEvent();
1741 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1746 int UtcDaliAccessibilityManagerActionPageLeftSignalN(void)
1748 ToolkitTestApplication application;
1749 tet_infoline( " UtcDaliAccessibilityManagerActionPageLeftSignalN" );
1751 AccessibilityManagerSignalHandler callback;
1753 AccessibilityManager manager = AccessibilityManager::Get();
1754 DALI_TEST_CHECK( manager );
1756 manager.ActionPageLeftSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1757 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1762 int UtcDaliAccessibilityManagerActionPageRightSignalP(void)
1764 ToolkitTestApplication application;
1765 tet_infoline( " UtcDaliAccessibilityManagerActionPageRightSignalP" );
1767 AccessibilityManagerSignalHandler callback;
1769 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1770 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1771 accAdaptor.HandleActionEnableEvent();
1773 AccessibilityManager manager = AccessibilityManager::Get();
1774 DALI_TEST_CHECK( manager );
1776 manager.ActionPageRightSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1778 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1779 accessibilityAdaptor.HandleActionPageRightEvent();
1781 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1786 int UtcDaliAccessibilityManagerActionPageRightSignalN(void)
1788 ToolkitTestApplication application;
1789 tet_infoline( " UtcDaliAccessibilityManagerActionPageRightSignalN" );
1791 AccessibilityManagerSignalHandler callback;
1793 AccessibilityManager manager = AccessibilityManager::Get();
1794 DALI_TEST_CHECK( manager );
1796 manager.ActionPageRightSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1797 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1802 int UtcDaliAccessibilityManagerActionPageUpSignalP(void)
1804 ToolkitTestApplication application;
1805 tet_infoline( " UtcDaliAccessibilityManagerActionPageUpSignalP" );
1807 AccessibilityManagerSignalHandler callback;
1809 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1810 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1811 accAdaptor.HandleActionEnableEvent();
1813 AccessibilityManager manager = AccessibilityManager::Get();
1814 DALI_TEST_CHECK( manager );
1816 manager.ActionPageUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1818 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1819 accessibilityAdaptor.HandleActionPageUpEvent();
1821 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1826 int UtcDaliAccessibilityManagerActionPageUpSignalN(void)
1828 ToolkitTestApplication application;
1829 tet_infoline( " UtcDaliAccessibilityManagerActionPageUpSignalN" );
1831 AccessibilityManagerSignalHandler callback;
1833 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1834 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1835 accAdaptor.HandleActionEnableEvent();
1837 AccessibilityManager manager = AccessibilityManager::Get();
1838 DALI_TEST_CHECK( manager );
1840 manager.ActionPageUpSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1841 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1846 int UtcDaliAccessibilityManagerActionPageDownSignalP(void)
1848 ToolkitTestApplication application;
1849 tet_infoline( " UtcDaliAccessibilityManagerActionPageDownSignalP" );
1851 AccessibilityManagerSignalHandler callback;
1853 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1854 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1855 accAdaptor.HandleActionEnableEvent();
1857 AccessibilityManager manager = AccessibilityManager::Get();
1858 DALI_TEST_CHECK( manager );
1860 manager.ActionPageDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1862 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1863 accessibilityAdaptor.HandleActionPageDownEvent();
1865 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1870 int UtcDaliAccessibilityManagerActionPageDownSignalN(void)
1872 ToolkitTestApplication application;
1873 tet_infoline( " UtcDaliAccessibilityManagerActionPageDownSignalN" );
1875 AccessibilityManagerSignalHandler callback;
1877 AccessibilityManager manager = AccessibilityManager::Get();
1878 DALI_TEST_CHECK( manager );
1880 manager.ActionPageDownSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1881 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1886 int UtcDaliAccessibilityManagerActionMoveToFirstSignalP(void)
1888 ToolkitTestApplication application;
1889 tet_infoline( " UtcDaliAccessibilityManagerActionMoveToFirstSignalP" );
1891 AccessibilityManagerSignalHandler callback;
1893 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1894 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1895 accAdaptor.HandleActionEnableEvent();
1897 AccessibilityManager manager = AccessibilityManager::Get();
1898 DALI_TEST_CHECK( manager );
1900 manager.ActionMoveToFirstSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1902 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1903 accessibilityAdaptor.HandleActionMoveToFirstEvent();
1905 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1910 int UtcDaliAccessibilityManagerActionMoveToFirstSignalN(void)
1912 ToolkitTestApplication application;
1913 tet_infoline( " UtcDaliAccessibilityManagerActionMoveToFirstSignalN" );
1915 AccessibilityManagerSignalHandler callback;
1917 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1918 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1919 accAdaptor.HandleActionEnableEvent();
1921 AccessibilityManager manager = AccessibilityManager::Get();
1922 DALI_TEST_CHECK( manager );
1924 manager.ActionMoveToFirstSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1925 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1930 int UtcDaliAccessibilityManagerActionMoveToLastSignalP(void)
1932 ToolkitTestApplication application;
1933 tet_infoline( " UtcDaliAccessibilityManagerActionMoveToLastSignalP" );
1935 AccessibilityManagerSignalHandler callback;
1937 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1938 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1939 accAdaptor.HandleActionEnableEvent();
1941 AccessibilityManager manager = AccessibilityManager::Get();
1942 DALI_TEST_CHECK( manager );
1944 manager.ActionMoveToLastSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1946 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1947 accessibilityAdaptor.HandleActionMoveToLastEvent();
1949 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1954 int UtcDaliAccessibilityManagerActionMoveToLastSignalN(void)
1956 ToolkitTestApplication application;
1957 tet_infoline( " UtcDaliAccessibilityManagerActionMoveToLastSignalN" );
1959 AccessibilityManagerSignalHandler callback;
1961 AccessibilityManager manager = AccessibilityManager::Get();
1962 DALI_TEST_CHECK( manager );
1964 manager.ActionMoveToLastSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1965 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
1970 int UtcDaliAccessibilityManagerActionReadFromTopSignalP(void)
1972 ToolkitTestApplication application;
1973 tet_infoline( " UtcDaliAccessibilityManagerActionReadFromTopSignalP" );
1975 AccessibilityManagerSignalHandler callback;
1977 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
1978 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
1979 accAdaptor.HandleActionEnableEvent();
1981 AccessibilityManager manager = AccessibilityManager::Get();
1982 DALI_TEST_CHECK( manager );
1984 manager.ActionReadFromTopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
1986 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
1987 accessibilityAdaptor.HandleActionReadFromTopEvent();
1989 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
1994 int UtcDaliAccessibilityManagerActionReadFromTopSignalN(void)
1996 ToolkitTestApplication application;
1997 tet_infoline( " UtcDaliAccessibilityManagerActionReadFromTopSignalN" );
1999 AccessibilityManagerSignalHandler callback;
2001 AccessibilityManager manager = AccessibilityManager::Get();
2002 DALI_TEST_CHECK( manager );
2004 manager.ActionReadFromTopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2005 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2010 int UtcDaliAccessibilityManagerActionReadFromNextSignalP(void)
2012 ToolkitTestApplication application;
2013 tet_infoline( " UtcDaliAccessibilityManagerActionReadFromNextSignalP" );
2015 AccessibilityManagerSignalHandler callback;
2017 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
2018 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
2019 accAdaptor.HandleActionEnableEvent();
2021 AccessibilityManager manager = AccessibilityManager::Get();
2022 DALI_TEST_CHECK( manager );
2024 manager.ActionReadFromNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2026 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2027 accessibilityAdaptor.HandleActionReadFromNextEvent();
2029 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2034 int UtcDaliAccessibilityManagerActionReadFromNextSignalN(void)
2036 ToolkitTestApplication application;
2037 tet_infoline( " UtcDaliAccessibilityManagerActionReadFromNextSignalN" );
2039 AccessibilityManagerSignalHandler callback;
2041 AccessibilityManager manager = AccessibilityManager::Get();
2042 DALI_TEST_CHECK( manager );
2044 manager.ActionReadFromNextSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2045 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2050 int UtcDaliAccessibilityManagerActionZoomSignalP(void)
2052 ToolkitTestApplication application;
2053 tet_infoline( " UtcDaliAccessibilityManagerActionZoomSignalP" );
2055 AccessibilityManagerSignalHandler callback;
2057 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
2058 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
2059 accAdaptor.HandleActionEnableEvent();
2061 AccessibilityManager manager = AccessibilityManager::Get();
2062 DALI_TEST_CHECK( manager );
2064 manager.ActionZoomSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2066 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2067 accessibilityAdaptor.HandleActionZoomEvent();
2069 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2074 int UtcDaliAccessibilityManagerActionZoomSignalN(void)
2076 ToolkitTestApplication application;
2077 tet_infoline( " UtcDaliAccessibilityManagerActionZoomSignalN" );
2079 AccessibilityManagerSignalHandler callback;
2081 AccessibilityManager manager = AccessibilityManager::Get();
2082 DALI_TEST_CHECK( manager );
2084 manager.ActionZoomSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2085 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2090 int UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalP(void)
2092 ToolkitTestApplication application;
2093 tet_infoline( " UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalP" );
2095 AccessibilityManagerSignalHandler callback;
2097 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
2098 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
2099 accAdaptor.HandleActionEnableEvent();
2101 AccessibilityManager manager = AccessibilityManager::Get();
2102 DALI_TEST_CHECK( manager );
2104 manager.ActionReadIndicatorInformationSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2106 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2107 accessibilityAdaptor.HandleActionReadIndicatorInformationEvent();
2109 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2114 int UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalN(void)
2116 ToolkitTestApplication application;
2117 tet_infoline( " UtcDaliAccessibilityManagerActionReadIndicatorInformationSignalN" );
2119 AccessibilityManagerSignalHandler callback;
2121 AccessibilityManager manager = AccessibilityManager::Get();
2122 DALI_TEST_CHECK( manager );
2124 manager.ActionReadIndicatorInformationSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2125 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2130 int UtcDaliAccessibilityManagerActionReadPauseResumeSignalP(void)
2132 ToolkitTestApplication application;
2133 tet_infoline( " UtcDaliAccessibilityManagerActionReadPauseResumeSignalP" );
2135 AccessibilityManagerSignalHandler callback;
2137 Dali::AccessibilityAdaptor accAdaptor = Dali::AccessibilityAdaptor::Get();
2138 Test::AccessibilityAdaptor::SetEnabled( accAdaptor, true );
2139 accAdaptor.HandleActionEnableEvent();
2141 AccessibilityManager manager = AccessibilityManager::Get();
2142 DALI_TEST_CHECK( manager );
2144 manager.ActionReadPauseResumeSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2146 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2147 accessibilityAdaptor.HandleActionReadPauseResumeEvent();
2149 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2154 int UtcDaliAccessibilityManagerActionReadPauseResumeSignalN(void)
2156 ToolkitTestApplication application;
2157 tet_infoline( " UtcDaliAccessibilityManagerActionReadPauseResumeSignalN" );
2159 AccessibilityManagerSignalHandler callback;
2161 AccessibilityManager manager = AccessibilityManager::Get();
2162 DALI_TEST_CHECK( manager );
2164 manager.ActionReadPauseResumeSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2165 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2170 int UtcDaliAccessibilityManagerActionStartStopSignalP(void)
2172 ToolkitTestApplication application;
2173 tet_infoline( " UtcDaliAccessibilityManagerActionStartStopSignalP" );
2175 AccessibilityManagerSignalHandler callback;
2177 AccessibilityManager manager = AccessibilityManager::Get();
2178 DALI_TEST_CHECK( manager );
2180 manager.ActionStartStopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2182 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2183 accessibilityAdaptor.HandleActionStartStopEvent();
2185 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2190 int UtcDaliAccessibilityManagerActionStartStopSignalN(void)
2192 ToolkitTestApplication application;
2193 tet_infoline( " UtcDaliAccessibilityManagerActionStartStopSignalN" );
2195 AccessibilityManagerSignalHandler callback;
2197 AccessibilityManager manager = AccessibilityManager::Get();
2198 DALI_TEST_CHECK( manager );
2200 manager.ActionStartStopSignal().Connect( &callback, &AccessibilityManagerSignalHandler::Callback );
2201 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2206 // Functor to test if a accessibility scroll signal has been called.
2207 class AccessibilityManagerScrollSignalHandler : public Dali::ConnectionTracker
2210 AccessibilityManagerScrollSignalHandler() :
2215 bool Callback( AccessibilityManager& accessibilityManager, const Dali::TouchEvent& touchEvent )
2218 mTouchEvent = touchEvent;
2219 tet_infoline( "Signal called" );
2223 unsigned int GetCalls() const
2228 const Dali::TouchEvent& GetTouchEvent() const
2234 unsigned int mCalls; ///< Keeps track of how many times the signal has been called.
2235 Dali::TouchEvent mTouchEvent; ///< Stores the last touch event received.
2238 int UtcDaliAccessibilityManagerActionScrollSignalP(void)
2240 ToolkitTestApplication application;
2241 tet_infoline( " UtcDaliAccessibilityManagerActionScrollSignalP" );
2243 AccessibilityManagerScrollSignalHandler callback;
2245 AccessibilityManager manager = AccessibilityManager::Get();
2246 DALI_TEST_CHECK( manager );
2248 manager.ActionScrollSignal().Connect( &callback, &AccessibilityManagerScrollSignalHandler::Callback );
2250 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2252 TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f );
2253 accessibilityAdaptor.HandleActionScrollEvent( point, 0u );
2255 DALI_TEST_EQUALS( callback.GetCalls(), 1u, TEST_LOCATION );
2257 const TouchEvent& signalTouchEvent = callback.GetTouchEvent();
2258 DALI_TEST_EQUALS( signalTouchEvent.GetPointCount(), 1u, TEST_LOCATION );
2260 const TouchPoint& signalTouchPoint = signalTouchEvent.GetPoint( 0u );
2262 DALI_TEST_EQUALS( signalTouchPoint.state, TouchPoint::Started, TEST_LOCATION );
2263 DALI_TEST_EQUALS( signalTouchPoint.screen.x, 100.0f, TEST_LOCATION );
2264 DALI_TEST_EQUALS( signalTouchPoint.screen.y, 200.0f, TEST_LOCATION );
2269 int UtcDaliAccessibilityManagerActionScrollSignalN(void)
2271 ToolkitTestApplication application;
2272 tet_infoline( " UtcDaliAccessibilityManagerActionScrollSignalN" );
2274 AccessibilityManagerScrollSignalHandler callback;
2276 AccessibilityManager manager = AccessibilityManager::Get();
2277 DALI_TEST_CHECK( manager );
2279 manager.ActionScrollSignal().Connect( &callback, &AccessibilityManagerScrollSignalHandler::Callback );
2281 DALI_TEST_EQUALS( callback.GetCalls(), 0u, TEST_LOCATION );
2286 int UtcDaliAccessibilityManagerActionTouch(void)
2288 ToolkitTestApplication application;
2289 tet_infoline( " UtcDaliAccessibilityManagerActionTouch" );
2291 AccessibilityManager manager = AccessibilityManager::Get();
2292 DALI_TEST_CHECK( manager );
2294 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2296 DummyControl dummyControl = DummyControl::New(true);
2297 DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummyControl.GetImplementation());
2298 dummyControl.SetSize(480, 800);
2299 manager.SetFocusOrder( dummyControl, 1 );
2300 Stage::GetCurrent().Add( dummyControl );
2301 manager.SetCurrentFocusActor( dummyControl );
2303 TouchPoint point( 0, TouchPoint::Started, 100.0f, 200.0f );
2304 accessibilityAdaptor.HandleActionTouchEvent( point, 0u );
2306 DALI_TEST_CHECK( dummyImpl.onAccTouchedCalled );
2312 int UtcDaliAccessibilityManagerHandlePanGesture(void)
2314 // Pan gesture sent from adaptor to manager via AccessibilityGestureHandler
2315 // Adaptor.SetGestureHandler is called in Initialize (check it's the toolkit version)
2316 ToolkitTestApplication application;
2317 tet_infoline( " UtcDaliAccessibilityManagerHandlePanGesture" );
2319 AccessibilityManager manager = AccessibilityManager::Get();
2320 DALI_TEST_CHECK( manager );
2322 Dali::AccessibilityAdaptor accessibilityAdaptor = Dali::AccessibilityAdaptor::Get();
2323 DummyControl dummyControl = DummyControl::New(true);
2324 dummyControl.SetSize(480, 800);
2325 Stage::GetCurrent().Add( dummyControl );
2327 Dali::Integration::PanGestureEvent panGestureEvent(Gesture::Started);
2328 panGestureEvent.previousPosition = Vector2(0.f, 0.f);
2329 panGestureEvent.currentPosition = Vector2(100.f, 0.f);
2330 panGestureEvent.timeDelta = 16;
2331 panGestureEvent.numberOfTouches = 1;
2333 Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
2335 panGestureEvent.state = Gesture::Continuing;
2336 panGestureEvent.previousPosition = Vector2(100.f, 0.f);
2337 panGestureEvent.currentPosition = Vector2(200.f, 0.f);
2338 Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
2340 panGestureEvent.state = Gesture::Finished;
2341 panGestureEvent.previousPosition = Vector2(200.f, 0.f);
2342 panGestureEvent.currentPosition = Vector2(300.f, 0.f);
2343 Test::AccessibilityAdaptor::SendPanGesture( accessibilityAdaptor, panGestureEvent );
2349 // Methods missing coverage:
2350 // IsActorFocusableFunction