1 #include <dali-toolkit-test-suite-utils.h>
2 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h>
3 #include <dali-toolkit/dali-toolkit.h>
5 #include <dali-toolkit/devel-api/controls/control-devel.h>
6 #include <dali-toolkit/devel-api/controls/table-view/table-view.h>
7 #include <dali/devel-api/adaptor-framework/accessibility-impl.h>
9 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
11 using namespace Dali::Toolkit;
13 void utc_dali_accessibility_controls_startup(void)
15 test_return_value = TET_UNDEF;
16 DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
19 void utc_dali_accessibility_controls_cleanup(void)
21 test_return_value = TET_PASS;
22 //DBusWrapper::Install({}) is a de-install
23 DBusWrapper::Install({});
26 int UtcDaliControlPropertyAccessibilityTranslationDomain(void)
28 ToolkitTestApplication application;
30 auto control = Control::New();
32 auto accessibility_translation_domain = DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN;
33 DALI_TEST_EQUALS( Property::NONE , control.GetProperty( accessibility_translation_domain ).GetType(), TEST_LOCATION );
35 control.SetProperty( accessibility_translation_domain, "translation_domain_test_1" );
36 DALI_TEST_EQUALS( "translation_domain_test_1" , control.GetProperty( accessibility_translation_domain ).Get< std::string >(), TEST_LOCATION );
38 control.SetProperty( accessibility_translation_domain, "translation_domain_test_2" );
39 DALI_TEST_EQUALS( "translation_domain_test_2" , control.GetProperty( accessibility_translation_domain ).Get< std::string >(), TEST_LOCATION );
44 // This test shows that when the accessibility bridge is
45 // not up, there is no possibility to grab or clear highlight
46 int UtcDaliControlAccessibilityHighlight(void)
48 ToolkitTestApplication application;
49 auto controla = Control::New();
50 auto controlb = Control::New();
52 DALI_TEST_EQUALS( false, DevelControl::GrabAccessibilityHighlight(controla), TEST_LOCATION );
53 DALI_TEST_EQUALS( false, DevelControl::GrabAccessibilityHighlight(controlb), TEST_LOCATION );
54 DALI_TEST_EQUALS( false, DevelControl::ClearAccessibilityHighlight(controla), TEST_LOCATION );
55 DALI_TEST_EQUALS( false, DevelControl::ClearAccessibilityHighlight(controlb), TEST_LOCATION );
60 #include <dali-toolkit/devel-api/controls/tool-bar/tool-bar.h>
61 int UtcDaliAccessibilityToolBarConstructor(void)
63 ToolkitTestApplication application;
65 auto toolbar = ToolBar::New();
66 DALI_TEST_CHECK( toolbar );
68 auto accessible = Dali::Accessibility::Accessible::Get( toolbar );
69 DALI_TEST_CHECK( accessible );
70 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOOL_BAR, TEST_LOCATION );
75 int UtcDaliAccessibilityPushButtonConstructor(void)
77 ToolkitTestApplication application;
79 auto pushbutton = PushButton::New();
80 DALI_TEST_CHECK( pushbutton );
82 auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
83 DALI_TEST_CHECK( accessible );
84 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PUSH_BUTTON, TEST_LOCATION );
89 int UtcDaliAccessibilityPushButtonStates(void)
91 ToolkitTestApplication application;
93 auto pushbutton = PushButton::New();
94 DALI_TEST_CHECK( pushbutton );
96 auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
97 DALI_TEST_CHECK( accessible );
99 Dali::Accessibility::TestEnableSC( true );
101 /* add to scene and remove from scene to touch AccessibilityDeregister */
102 application.GetScene().Add( pushbutton );
104 auto states = accessible->GetStates();
105 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::PRESSED ] ), false, TEST_LOCATION );
107 // auto button = dynamic_cast<Dali::Toolkit::Button* >( accessible ) ;
108 pushbutton.SetProperty( Toolkit::Button::Property::TOGGLABLE, true );
109 pushbutton.SetProperty( Toolkit::Button::Property::SELECTED, true );
111 states = accessible->GetStates();
112 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::PRESSED ] ), true, TEST_LOCATION );
114 /* add to scene and remove from scene to touch AccessibilityDeregister */
115 application.GetScene().Remove( pushbutton );
117 Dali::Accessibility::TestEnableSC( false );
122 #include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
123 int UtcDaliAccessibilityToggleButtonConstructor(void)
125 ToolkitTestApplication application;
127 auto togglebutton = ToggleButton::New();
128 DALI_TEST_CHECK( togglebutton );
130 auto accessible = Dali::Accessibility::Accessible::Get( togglebutton );
131 DALI_TEST_CHECK( accessible );
132 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOGGLE_BUTTON, TEST_LOCATION );
137 #include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
138 int UtcDaliAccessibilityTextSelectionPopupConstructor(void)
140 ToolkitTestApplication application;
142 auto textselectionpopup = TextSelectionPopup::New( NULL );
143 DALI_TEST_CHECK( textselectionpopup );
145 auto accessible = Dali::Accessibility::Accessible::Get( textselectionpopup );
146 DALI_TEST_CHECK( accessible );
147 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::DIALOG, TEST_LOCATION );
152 int UtcDaliAccessibilityAlignmentConstructor(void)
154 ToolkitTestApplication application;
156 auto alignment = Alignment::New();
157 DALI_TEST_CHECK( alignment );
159 auto accessible = Dali::Accessibility::Accessible::Get( alignment );
160 DALI_TEST_CHECK( accessible );
161 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
166 int UtcDaliAccessibilityRadioButtonStates(void)
168 ToolkitTestApplication application;
170 auto radiobutton = RadioButton::New();
171 DALI_TEST_CHECK( radiobutton );
173 auto accessible = Dali::Accessibility::Accessible::Get( radiobutton );
174 DALI_TEST_CHECK( accessible );
176 Dali::Accessibility::TestEnableSC( true );
178 auto states = accessible->GetStates();
179 DALI_TEST_CHECK( states );
180 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), false, TEST_LOCATION );
181 radiobutton.SetProperty( Toolkit::RadioButton::Property::SELECTED, true );
182 states = accessible->GetStates();
183 DALI_TEST_CHECK( states );
184 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), true, TEST_LOCATION );
186 Dali::Accessibility::TestEnableSC( false );
191 int UtcDaliAccessibilityFlexContainerConstructor(void)
193 ToolkitTestApplication application;
195 auto flexcontainer = FlexContainer::New();
196 DALI_TEST_CHECK( flexcontainer );
198 auto accessible = Dali::Accessibility::Accessible::Get( flexcontainer );
199 DALI_TEST_CHECK( accessible );
200 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
205 int UtcDaliAccessibilityCheckBoxButton(void)
207 ToolkitTestApplication application;
209 auto checkboxbutton = CheckBoxButton::New();
210 DALI_TEST_CHECK( checkboxbutton );
212 auto accessible = Dali::Accessibility::Accessible::Get( checkboxbutton );
213 DALI_TEST_CHECK( accessible );
215 Dali::Accessibility::TestEnableSC( true );
217 auto states = accessible->GetStates();
218 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), false, TEST_LOCATION );
219 checkboxbutton.SetProperty( Toolkit::CheckBoxButton::Property::SELECTED, true );
220 states = accessible->GetStates();
221 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::CHECKED ] ), true, TEST_LOCATION );
223 Dali::Accessibility::TestEnableSC( false );
228 #include <dali-toolkit/devel-api/controls/text-controls/text-selection-toolbar.h>
229 int UtcDaliAccessibilityTextSelectionConstructor(void)
231 ToolkitTestApplication application;
233 auto textselectiontoolbar = TextSelectionToolbar::New();
234 DALI_TEST_CHECK( textselectiontoolbar );
236 auto accessible = Dali::Accessibility::Accessible::Get( textselectiontoolbar );
237 DALI_TEST_CHECK( accessible );
238 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TOOL_BAR, TEST_LOCATION );
243 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
244 int UtcDaliAccessibilityManager(void)
246 using attr = Toolkit::AccessibilityManager::AccessibilityAttribute;
248 ToolkitTestApplication application;
250 Dali::Accessibility::TestEnableSC(true);
252 auto accessmanager = new Dali::Toolkit::Internal::AccessibilityManager;
253 auto actor = Control::New();
255 const std::string name = "Name";
256 const std::string descr = "Description";
258 accessmanager->SetAccessibilityAttribute(actor, attr::ACCESSIBILITY_LABEL, name);
259 DALI_TEST_EQUALS( accessmanager->GetAccessibilityAttribute(actor, attr::ACCESSIBILITY_LABEL), name, TEST_LOCATION );
260 DALI_TEST_EQUALS( actor.GetProperty<std::string>(DevelControl::Property::ACCESSIBILITY_NAME), name, TEST_LOCATION );
262 accessmanager->SetAccessibilityAttribute(actor, attr::ACCESSIBILITY_TRAIT, "Whatever");
263 DALI_TEST_EQUALS( accessmanager->GetAccessibilityAttribute(actor, attr::ACCESSIBILITY_TRAIT), "", TEST_LOCATION );
265 accessmanager->SetAccessibilityAttribute(actor, attr::ACCESSIBILITY_VALUE, "Whatever");
266 DALI_TEST_EQUALS( accessmanager->GetAccessibilityAttribute(actor, attr::ACCESSIBILITY_VALUE), "", TEST_LOCATION );
268 accessmanager->SetAccessibilityAttribute(actor, attr::ACCESSIBILITY_HINT, descr);
269 DALI_TEST_EQUALS( accessmanager->GetAccessibilityAttribute(actor, attr::ACCESSIBILITY_HINT), descr, TEST_LOCATION );
270 DALI_TEST_EQUALS( actor.GetProperty<std::string>(DevelControl::Property::ACCESSIBILITY_DESCRIPTION), descr, TEST_LOCATION );
272 DALI_TEST_EQUALS( accessmanager->GetFocusOrder(actor), 0, TEST_LOCATION );
273 DALI_TEST_EQUALS( accessmanager->GenerateNewFocusOrder(), 1, TEST_LOCATION );
275 accessmanager->SetFocusOrder({}, 0);
276 accessmanager->SetFocusOrder(Control::New(), 1);
277 accessmanager->SetFocusOrder(actor, 2);
278 accessmanager->SetFocusOrder(Control::New(), 3);
280 DALI_TEST_EQUALS( accessmanager->GetFocusOrder(actor), 2, TEST_LOCATION );
281 DALI_TEST_EQUALS( accessmanager->GetActorByFocusOrder(2), actor, TEST_LOCATION );
283 accessmanager->SetCurrentFocusActor(actor);
284 DALI_TEST_EQUALS( accessmanager->GetCurrentFocusActor(), actor, TEST_LOCATION );
285 DALI_TEST_EQUALS( accessmanager->GetCurrentFocusOrder(), 2, TEST_LOCATION );
287 accessmanager->MoveFocusForward();
288 accessmanager->MoveFocusBackward();
289 DALI_TEST_EQUALS( accessmanager->GetCurrentFocusActor(), actor, TEST_LOCATION );
290 accessmanager->SetCurrentFocusActor({});
292 accessmanager->Reset();
293 accessmanager->MoveFocusBackward();
294 accessmanager->MoveFocusForward();
296 accessmanager->GetCurrentFocusGroup();
297 DALI_TEST_EQUALS( accessmanager->IsFocusGroup(actor), false, TEST_LOCATION );
298 accessmanager->GetFocusGroup(actor);
300 DALI_TEST_EQUALS( accessmanager->GetGroupMode(), false, TEST_LOCATION );
301 DALI_TEST_EQUALS( accessmanager->GetWrapMode(), true, TEST_LOCATION );
303 auto vector = accessmanager->GetReadPosition();
304 DALI_TEST_EQUALS( vector.x, 0.0f, TEST_LOCATION );
305 DALI_TEST_EQUALS( vector.y, 0.0f, TEST_LOCATION );
307 accessmanager->SetFocusIndicatorActor(Dali::Actor{});
308 accessmanager->GetFocusIndicatorActor();
310 Dali::Accessibility::TestEnableSC(false);
315 int UtcDaliAccessibilityModel3dViewConstructor(void)
317 ToolkitTestApplication application;
319 auto model3dview = Model3dView::New();
320 DALI_TEST_CHECK( model3dview );
322 auto accessible = Dali::Accessibility::Accessible::Get( model3dview );
323 DALI_TEST_CHECK( accessible );
324 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::IMAGE, TEST_LOCATION );
329 #include <dali-toolkit/internal/controls/effects-view/effects-view-impl.h>
330 int UtcDaliAccessibilityEffectsViewConstructor(void)
332 ToolkitTestApplication application;
334 auto etype = Dali::Toolkit::EffectsView::EffectType::DROP_SHADOW;
335 auto effectsview = EffectsView::New( etype );
336 DALI_TEST_CHECK( effectsview );
338 auto accessible = Dali::Accessibility::Accessible::Get( effectsview );
339 DALI_TEST_CHECK( accessible );
340 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
345 #include <dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h>
346 int UtcDaliAccessibilitySuperBlurViewConstructor(void)
348 ToolkitTestApplication application;
350 auto superblurview = SuperBlurView::New( 1 );
351 DALI_TEST_CHECK( superblurview );
353 auto accessible = Dali::Accessibility::Accessible::Get( superblurview );
354 DALI_TEST_CHECK( accessible );
355 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
360 int UtcDaliAccessibilityImageViewConstructor(void)
362 ToolkitTestApplication application;
364 auto imageview = ImageView::New();
365 DALI_TEST_CHECK( imageview );
367 auto accessible = Dali::Accessibility::Accessible::Get( imageview );
368 DALI_TEST_CHECK( accessible );
369 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::IMAGE, TEST_LOCATION );
374 #include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
375 class TestPageFactory : public PageFactory
379 TestPageFactory( bool returnValidTexture = true )
380 : mValidTexture( returnValidTexture )
382 mTotalPageNumber = 100;
386 * Query the number of pages available from the factory.
387 * The maximum available page has an ID of GetNumberOfPages()-1.
389 virtual unsigned int GetNumberOfPages()
391 return mTotalPageNumber;
395 * Create an texture to represent a page content.
396 * @param[in] pageId The ID of the page to create.
397 * @return An image, or an empty handle if the ID is out of range.
399 virtual Texture NewPage( unsigned int pageId )
403 return Texture::New( Dali::TextureType::TEXTURE_2D, Pixel::RGB888, 100, 100 );
405 return Texture(); // empty handle
409 unsigned int mTotalPageNumber;
413 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
414 int UtcDaliAccessibilityPageTurnViewConstructor(void)
416 ToolkitTestApplication application;
418 auto testpagefactory = TestPageFactory();
419 auto vector2 = Vector2( 1.0, 1.0 );
420 auto pageturnlandscapeview = PageTurnLandscapeView::New( testpagefactory, vector2 );
421 DALI_TEST_CHECK( pageturnlandscapeview );
423 auto accessible = Dali::Accessibility::Accessible::Get( pageturnlandscapeview );
424 DALI_TEST_CHECK( accessible );
425 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PAGE_TAB_LIST, TEST_LOCATION );
430 int UtcDaliAccessibilityGaussianBlurViewConstructor(void)
432 ToolkitTestApplication application;
434 auto gaussianblurview = GaussianBlurView::New();
435 DALI_TEST_CHECK( gaussianblurview );
437 auto accessible = Dali::Accessibility::Accessible::Get( gaussianblurview );
438 DALI_TEST_CHECK( accessible );
439 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
444 int UtcDaliAccessibilityShadowViewConstructor(void)
446 ToolkitTestApplication application;
448 auto shadowview = ShadowView::New();
449 DALI_TEST_CHECK( shadowview );
451 auto accessible = Dali::Accessibility::Accessible::Get( shadowview );
452 DALI_TEST_CHECK( accessible );
453 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
458 #include <dali-toolkit/public-api/controls/control-impl.h>
459 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
460 int UtcDaliAccessibilityScrollableConstructor(void)
462 ToolkitTestApplication application;
464 auto scrollview = ScrollView::New();
465 DALI_TEST_CHECK( scrollview );
467 auto accessible = Dali::Accessibility::Accessible::Get( scrollview );
468 DALI_TEST_CHECK( accessible );
469 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::SCROLL_PANE, TEST_LOCATION );
474 #include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
475 int UtcDaliAccessibilityMagnifierConstructor(void)
477 ToolkitTestApplication application;
479 auto magnifier = Magnifier::New();
480 DALI_TEST_CHECK( magnifier );
482 auto accessible = Dali::Accessibility::Accessible::Get( magnifier );
483 DALI_TEST_CHECK( accessible );
484 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::FILLER, TEST_LOCATION );
489 int UtcDaliAccessibilityTableViewConstructor(void)
491 ToolkitTestApplication application;
493 auto tableview = TableView::New( 10, 10 );
494 DALI_TEST_CHECK( tableview );
496 auto accessible = Dali::Accessibility::Accessible::Get( tableview );
497 DALI_TEST_CHECK( accessible );
498 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::TABLE, TEST_LOCATION );
503 #include <dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h>
504 int UtcDaliAccessibilityBloomViewConstructor(void)
506 ToolkitTestApplication application;
508 auto bloomview = BloomView::New();
509 DALI_TEST_CHECK( bloomview );
511 auto accessible = Dali::Accessibility::Accessible::Get( bloomview );
512 DALI_TEST_CHECK( accessible );
513 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ANIMATION, TEST_LOCATION );
518 #include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
519 int UtcDaliAccessibilityTextField(void)
521 ToolkitTestApplication application;
523 auto textfield = TextField::New();
524 DALI_TEST_CHECK( textfield );
526 textfield.SetProperty(Actor::Property::NAME, "test" );
527 DALI_TEST_EQUALS( textfield.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
529 auto accessible = Dali::Accessibility::Accessible::Get( textfield );
530 DALI_TEST_CHECK( accessible );
532 DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
533 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ENTRY, TEST_LOCATION );
534 auto states = accessible->GetStates();
535 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::EDITABLE ] ), true, TEST_LOCATION );
537 Dali::Accessibility::TestEnableSC( true );
539 textfield.SetProperty( Toolkit::TextField::Property::TEXT, "test" );
540 auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
541 DALI_TEST_CHECK( text );
542 DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
543 DALI_TEST_EQUALS( text->SetCursorOffset(100), false, TEST_LOCATION );
544 DALI_TEST_EQUALS( text->SetCursorOffset(2), true, TEST_LOCATION );
545 DALI_TEST_EQUALS( text->GetCursorOffset(), 2, TEST_LOCATION );
547 auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
548 DALI_TEST_CHECK( editabletext );
549 DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
550 DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
551 DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
552 DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
553 DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
555 auto range = text->GetRangeOfSelection( 1 );
556 DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
557 DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
558 DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
559 DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION );
560 DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
562 DALI_TEST_EQUALS(editabletext->SetTextContents("adef"), true, TEST_LOCATION);
563 DALI_TEST_EQUALS(editabletext->InsertText(1, "bc"), true, TEST_LOCATION);
564 DALI_TEST_EQUALS(text->GetText(0, 6), "abcdef", TEST_LOCATION);
565 DALI_TEST_EQUALS(editabletext->DeleteText(5, 1), false, TEST_LOCATION);
566 DALI_TEST_EQUALS(editabletext->DeleteText(1, 5), true, TEST_LOCATION);
567 DALI_TEST_EQUALS(text->GetText(0, 2), "af", TEST_LOCATION);
569 Dali::Accessibility::TestEnableSC( false );
574 #include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
575 int UtcDaliAccessibilityTextEditor(void)
577 ToolkitTestApplication application;
579 auto texteditor = TextEditor::New();
580 DALI_TEST_CHECK( texteditor );
582 texteditor.SetProperty(Actor::Property::NAME, "test" );
583 DALI_TEST_EQUALS( texteditor.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
585 auto accessible = Dali::Accessibility::Accessible::Get( texteditor );
586 DALI_TEST_CHECK( accessible );
588 DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
589 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ENTRY, TEST_LOCATION );
590 auto states = accessible->GetStates();
591 DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::EDITABLE ] ), true, TEST_LOCATION );
593 Dali::Accessibility::TestEnableSC( true );
595 texteditor.SetProperty( Toolkit::TextEditor::Property::TEXT, "test" );
596 auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
597 DALI_TEST_CHECK( text );
598 DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
599 DALI_TEST_EQUALS( text->SetCursorOffset(100), false, TEST_LOCATION );
600 DALI_TEST_EQUALS( text->SetCursorOffset(2), true, TEST_LOCATION );
601 DALI_TEST_EQUALS( text->GetCursorOffset(), 2, TEST_LOCATION );
603 auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
604 DALI_TEST_CHECK( editabletext );
605 DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
606 DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
607 DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
608 DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
609 DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
611 auto range = text->GetRangeOfSelection( 1 );
612 DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
613 DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
614 DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
615 DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION );
616 DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
618 DALI_TEST_EQUALS(editabletext->SetTextContents("adef"), true, TEST_LOCATION);
619 DALI_TEST_EQUALS(editabletext->InsertText(1, "bc"), true, TEST_LOCATION);
620 DALI_TEST_EQUALS(text->GetText(0, 6), "abcdef", TEST_LOCATION);
621 DALI_TEST_EQUALS(editabletext->DeleteText(5, 1), false, TEST_LOCATION);
622 DALI_TEST_EQUALS(editabletext->DeleteText(1, 5), true, TEST_LOCATION);
623 DALI_TEST_EQUALS(text->GetText(0, 2), "af", TEST_LOCATION);
625 Dali::Accessibility::TestEnableSC( false );
630 int UtcDaliAccessibilityTextLabel(void)
632 ToolkitTestApplication application;
634 auto textlabel = TextLabel::New();
635 DALI_TEST_CHECK( textlabel );
637 textlabel.SetProperty(Actor::Property::NAME, "test" );
638 DALI_TEST_EQUALS( textlabel.GetProperty<std::string>(Actor::Property::NAME), "test", TEST_LOCATION );
640 auto accessible = Dali::Accessibility::Accessible::Get( textlabel );
641 DALI_TEST_CHECK( accessible );
643 DALI_TEST_EQUALS( accessible->GetName(), "test", TEST_LOCATION );
644 DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::LABEL, TEST_LOCATION );
646 Dali::Accessibility::TestEnableSC( true );
648 textlabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "test" );
649 auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
650 DALI_TEST_CHECK( text );
651 DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
652 DALI_TEST_EQUALS( text->GetText( 0, 4 ), "test", TEST_LOCATION );
653 DALI_TEST_EQUALS( text->SetCursorOffset(0), false, TEST_LOCATION );
654 DALI_TEST_EQUALS( text->GetCursorOffset(), 0, TEST_LOCATION );
656 auto range = text->GetRangeOfSelection( 1 );
657 DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
658 DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
659 DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
660 DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION );
661 DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
663 Dali::Accessibility::TestEnableSC( false );
668 #include <dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h>
669 int UtcDaliAccessibilityNavigationViewConstructor(void)
671 ToolkitTestApplication application;
673 auto navigationview = NavigationView::New();
674 DALI_TEST_CHECK( navigationview );
676 auto accessible = Dali::Accessibility::Accessible::Get( navigationview );
677 DALI_TEST_CHECK( accessible );
679 DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::FILLER, TEST_LOCATION );
684 int UtcDaliAccessibilityVideoViewConstructor(void)
686 ToolkitTestApplication application;
688 auto videoview = VideoView::New();
689 DALI_TEST_CHECK( videoview );
691 auto accessible = Dali::Accessibility::Accessible::Get( videoview );
692 DALI_TEST_CHECK( accessible );
694 DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::VIDEO, TEST_LOCATION );