[AT-SPI] Squashed implementation
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-accessibility / utc-Dali-Accessibility-Controls.cpp
1 #include <dali-toolkit-test-suite-utils.h>
2 #include <automated-tests/src/dali-toolkit-accessibility/dali-toolkit-accessibility-test-utils.h>
3 #include <dali-toolkit/dali-toolkit.h>
4
5 using namespace Dali::Toolkit;
6
7 using DBusWrapper = Dali::Accessibility::DBusWrapper;
8
9 void utc_dali_accessibility_controls_startup(void)
10 {
11   test_return_value = TET_UNDEF;
12 }
13
14 void utc_dali_accessibility_controls_cleanup(void)
15 {
16   test_return_value = TET_PASS;
17   //DBusWrapper::Install({}) is a de-install
18   DBusWrapper::Install({});
19 }
20
21 int UtcDaliControlPropertyAccessibilityTranslationDomain(void)
22 {
23   ToolkitTestApplication application;
24
25   auto control = Control::New();
26
27   auto accessibility_translation_domain = Control::Property::ACCESSIBILITY_TRANSLATION_DOMAIN;
28   DALI_TEST_EQUALS( Property::NONE , control.GetProperty( accessibility_translation_domain ).GetType(), TEST_LOCATION );
29
30   control.SetProperty( accessibility_translation_domain, "translation_domain_test_1" );
31   DALI_TEST_EQUALS( "translation_domain_test_1" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
32
33   control.SetProperty( accessibility_translation_domain, "translation_domain_test_2" );
34   DALI_TEST_EQUALS( "translation_domain_test_2" , control.GetProperty( accessibility_translation_domain ).Get<  std::string  >(), TEST_LOCATION );
35
36   END_TEST;
37 }
38
39 // This test shows that when the accessibility bridge is
40 // not up, there is no possibility to grab or clear highlight
41 int UtcDaliControlAccessibilityHighlight(void)
42 {
43   ToolkitTestApplication application;
44   auto controla = Control::New();
45   auto controlb = Control::New();
46
47   DALI_TEST_EQUALS( false, controla.GrabAccessibilityHighlight(), TEST_LOCATION );
48   DALI_TEST_EQUALS( false, controlb.GrabAccessibilityHighlight(), TEST_LOCATION );
49   DALI_TEST_EQUALS( false, controla.ClearAccessibilityHighlight(), TEST_LOCATION );
50   DALI_TEST_EQUALS( false, controlb.ClearAccessibilityHighlight(), TEST_LOCATION );
51
52   END_TEST;
53 }
54
55 #include <dali-toolkit/devel-api/controls/tool-bar/tool-bar.h>
56 int UtcDaliAccessibilityToolBarConstructor(void)
57 {
58   ToolkitTestApplication application;
59
60   auto toolbar = ToolBar::New();
61   DALI_TEST_CHECK( toolbar );
62
63   auto accessible = Dali::Accessibility::Accessible::Get( toolbar );
64   DALI_TEST_CHECK( accessible );
65   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToolBar, TEST_LOCATION );
66
67   END_TEST;
68 }
69
70 int UtcDaliAccessibilityPushButtonConstructor(void)
71 {
72   ToolkitTestApplication application;
73
74   auto pushbutton = PushButton::New();
75   DALI_TEST_CHECK( pushbutton );
76
77   auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
78   DALI_TEST_CHECK( accessible );
79   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PushButton, TEST_LOCATION );
80
81   END_TEST;
82 }
83
84 int UtcDaliAccessibilityPushButtonStates(void)
85 {
86   ToolkitTestApplication application;
87
88   auto pushbutton = PushButton::New();
89   DALI_TEST_CHECK( pushbutton );
90
91   auto accessible = Dali::Accessibility::Accessible::Get( pushbutton );
92   DALI_TEST_CHECK( accessible );
93
94   Dali::Accessibility::TestEnableSC( true );
95
96   auto states = accessible->GetStates();
97   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Pressed ] ), false, TEST_LOCATION );
98
99   // auto button = dynamic_cast<Dali::Toolkit::Button* >( accessible ) ;
100   pushbutton.SetProperty( Toolkit::Button::Property::TOGGLABLE, true );
101   pushbutton.SetProperty( Toolkit::Button::Property::SELECTED, true );
102
103   states = accessible->GetStates();
104   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Pressed ] ), true, TEST_LOCATION );
105
106   Dali::Accessibility::TestEnableSC( false );
107
108   END_TEST;
109 }
110
111 #include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
112 int UtcDaliAccessibilityToggleButtonConstructor(void)
113 {
114   ToolkitTestApplication application;
115
116   auto togglebutton = ToggleButton::New();
117   DALI_TEST_CHECK( togglebutton );
118
119   auto accessible = Dali::Accessibility::Accessible::Get( togglebutton );
120   DALI_TEST_CHECK( accessible );
121   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToggleButton, TEST_LOCATION );
122
123   END_TEST;
124 }
125
126 #include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
127 int UtcDaliAccessibilityTextSelectionPopupConstructor(void)
128 {
129   ToolkitTestApplication application;
130
131   auto textselectionpopup = TextSelectionPopup::New( NULL );
132   DALI_TEST_CHECK( textselectionpopup );
133
134   auto accessible = Dali::Accessibility::Accessible::Get( textselectionpopup );
135   DALI_TEST_CHECK( accessible );
136   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Dialog, TEST_LOCATION );
137
138   END_TEST;
139 }
140
141 int UtcDaliAccessibilityAlignmentConstructor(void)
142 {
143   ToolkitTestApplication application;
144
145   auto alignment = Alignment::New();
146   DALI_TEST_CHECK( alignment );
147
148   auto accessible = Dali::Accessibility::Accessible::Get( alignment );
149   DALI_TEST_CHECK( accessible );
150   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
151
152   END_TEST;
153 }
154
155 int UtcDaliAccessibilityRadioButtonStates(void)
156 {
157   ToolkitTestApplication application;
158
159   auto radiobutton = RadioButton::New();
160   DALI_TEST_CHECK( radiobutton );
161
162   auto accessible = Dali::Accessibility::Accessible::Get( radiobutton );
163   DALI_TEST_CHECK( accessible );
164
165   Dali::Accessibility::TestEnableSC( true );
166
167   auto states = accessible->GetStates();
168   DALI_TEST_CHECK( states );
169   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), false, TEST_LOCATION );
170   radiobutton.SetProperty( Toolkit::RadioButton::Property::SELECTED, true );
171   states = accessible->GetStates();
172   DALI_TEST_CHECK( states );
173   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), true, TEST_LOCATION );
174
175   Dali::Accessibility::TestEnableSC( false );
176
177   END_TEST;
178 }
179
180 int UtcDaliAccessibilityFlexContainerConstructor(void)
181 {
182   ToolkitTestApplication application;
183
184   auto flexcontainer = FlexContainer::New();
185   DALI_TEST_CHECK( flexcontainer );
186
187   auto accessible = Dali::Accessibility::Accessible::Get( flexcontainer );
188   DALI_TEST_CHECK( accessible );
189   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
190
191   END_TEST;
192 }
193
194 int UtcDaliAccessibilityCheckBoxButton(void)
195 {
196   ToolkitTestApplication application;
197
198   auto checkboxbutton = CheckBoxButton::New();
199   DALI_TEST_CHECK( checkboxbutton );
200
201   auto accessible = Dali::Accessibility::Accessible::Get( checkboxbutton );
202   DALI_TEST_CHECK( accessible );
203
204   Dali::Accessibility::TestEnableSC( true );
205
206   auto states = accessible->GetStates();
207   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), false, TEST_LOCATION );
208   checkboxbutton.SetProperty( Toolkit::CheckBoxButton::Property::SELECTED, true );
209   states = accessible->GetStates();
210   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Checked ] ), true, TEST_LOCATION );
211
212   Dali::Accessibility::TestEnableSC( false );
213
214   END_TEST;
215 }
216
217 #include <dali-toolkit/devel-api/controls/text-controls/text-selection-toolbar.h>
218 int UtcDaliAccessibilityTextSelectionConstructor(void)
219 {
220   ToolkitTestApplication application;
221
222   auto textselectiontoolbar = TextSelectionToolbar::New();
223   DALI_TEST_CHECK( textselectiontoolbar );
224
225   auto accessible = Dali::Accessibility::Accessible::Get( textselectiontoolbar );
226   DALI_TEST_CHECK( accessible );
227   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ToolBar, TEST_LOCATION );
228
229   END_TEST;
230 }
231
232 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
233 int UtcDaliAccessibilityManager(void)
234 {
235   ToolkitTestApplication application;
236
237   auto accessmanager = new Dali::Toolkit::Internal::AccessibilityManager;
238   auto actor = Dali::Actor::New();
239
240   auto str = accessmanager->GetAccessibilityAttribute( actor, Toolkit::AccessibilityManager::AccessibilityAttribute::ACCESSIBILITY_LABEL );
241   DALI_TEST_EQUALS( str, "", TEST_LOCATION );
242   DALI_TEST_EQUALS( accessmanager->GetFocusOrder( actor ), 0, TEST_LOCATION );
243   DALI_TEST_EQUALS( accessmanager->GenerateNewFocusOrder(), 0, TEST_LOCATION );
244   accessmanager->GetActorByFocusOrder( 0 );
245   accessmanager->GetCurrentFocusActor();
246   accessmanager->GetCurrentFocusGroup();
247   DALI_TEST_EQUALS( accessmanager->GetCurrentFocusOrder(), 0, TEST_LOCATION );
248   DALI_TEST_EQUALS( accessmanager->MoveFocusForward(), false, TEST_LOCATION );
249   DALI_TEST_EQUALS( accessmanager->MoveFocusBackward(), false, TEST_LOCATION );
250   DALI_TEST_EQUALS( accessmanager->IsFocusGroup( actor ), false, TEST_LOCATION );
251   accessmanager->GetFocusGroup( actor );
252   auto vector = accessmanager->GetReadPosition();
253   DALI_TEST_EQUALS( vector.x, 0.0f, TEST_LOCATION );
254   DALI_TEST_EQUALS( vector.y, 0.0f, TEST_LOCATION );
255   DALI_TEST_EQUALS( accessmanager->GetGroupMode(), false, TEST_LOCATION );
256   DALI_TEST_EQUALS( accessmanager->GetWrapMode(), false, TEST_LOCATION );
257   accessmanager->GetFocusIndicatorActor();
258
259   END_TEST;
260 }
261
262 int UtcDaliAccessibilityModel3dViewConstructor(void)
263 {
264   ToolkitTestApplication application;
265
266   auto model3dview = Model3dView::New();
267   DALI_TEST_CHECK( model3dview );
268
269   auto accessible = Dali::Accessibility::Accessible::Get( model3dview );
270   DALI_TEST_CHECK( accessible );
271   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Image, TEST_LOCATION );
272
273   END_TEST;
274 }
275
276 #include <dali-toolkit/internal/controls/effects-view/effects-view-impl.h>
277 int UtcDaliAccessibilityEffectsViewConstructor(void)
278 {
279   ToolkitTestApplication application;
280
281   auto etype = Dali::Toolkit::EffectsView::EffectType::DROP_SHADOW;
282   auto effectsview = EffectsView::New( etype );
283   DALI_TEST_CHECK( effectsview );
284
285   auto accessible = Dali::Accessibility::Accessible::Get( effectsview );
286   DALI_TEST_CHECK( accessible );
287   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
288
289   END_TEST;
290 }
291
292 #include <dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h>
293 int UtcDaliAccessibilitySuperBlurViewConstructor(void)
294 {
295   ToolkitTestApplication application;
296
297   auto superblurview = SuperBlurView::New( 1 );
298   DALI_TEST_CHECK( superblurview );
299
300   auto accessible = Dali::Accessibility::Accessible::Get( superblurview );
301   DALI_TEST_CHECK( accessible );
302   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
303
304   END_TEST;
305 }
306
307 int UtcDaliAccessibilityImageViewConstructor(void)
308 {
309   ToolkitTestApplication application;
310
311   auto imageview = ImageView::New();
312   DALI_TEST_CHECK( imageview );
313
314   auto accessible = Dali::Accessibility::Accessible::Get( imageview );
315   DALI_TEST_CHECK( accessible );
316   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Image, TEST_LOCATION );
317
318   END_TEST;
319 }
320
321 #include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
322 class TestPageFactory : public PageFactory
323 {
324 public:
325
326   TestPageFactory( bool returnValidTexture = true )
327   : mValidTexture( returnValidTexture )
328   {
329     mTotalPageNumber = 100;
330   }
331
332   /**
333    * Query the number of pages available from the factory.
334    * The maximum available page has an ID of GetNumberOfPages()-1.
335    */
336   virtual unsigned int GetNumberOfPages()
337   {
338     return mTotalPageNumber;
339   }
340
341   /**
342    * Create an texture to represent a page content.
343    * @param[in] pageId The ID of the page to create.
344    * @return An image, or an empty handle if the ID is out of range.
345    */
346   virtual Texture NewPage( unsigned int pageId )
347   {
348     if( mValidTexture )
349     {
350       return Texture::New( Dali::TextureType::TEXTURE_2D, Pixel::RGB888, 100, 100 );
351     }
352     return Texture(); // empty handle
353   }
354
355 private:
356   unsigned int            mTotalPageNumber;
357   bool                    mValidTexture;
358 };
359
360 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
361 int UtcDaliAccessibilityPageTurnViewConstructor(void)
362 {
363   ToolkitTestApplication application;
364
365   auto testpagefactory = TestPageFactory();
366   auto vector2 = Vector2( 1.0, 1.0 );
367   auto pageturnlandscapeview = PageTurnLandscapeView::New( testpagefactory, vector2 );
368   DALI_TEST_CHECK( pageturnlandscapeview );
369
370   auto accessible = Dali::Accessibility::Accessible::Get( pageturnlandscapeview );
371   DALI_TEST_CHECK( accessible );
372   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::PageTabList, TEST_LOCATION );
373
374   END_TEST;
375 }
376
377 int UtcDaliAccessibilityGaussianBlurViewConstructor(void)
378 {
379   ToolkitTestApplication application;
380
381   auto gaussianblurview = GaussianBlurView::New();
382   DALI_TEST_CHECK( gaussianblurview );
383
384   auto accessible = Dali::Accessibility::Accessible::Get( gaussianblurview );
385   DALI_TEST_CHECK( accessible );
386   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
387
388   END_TEST;
389 }
390
391 int UtcDaliAccessibilityShadowViewConstructor(void)
392 {
393   ToolkitTestApplication application;
394
395   auto shadowview = ShadowView::New();
396   DALI_TEST_CHECK( shadowview );
397
398   auto accessible = Dali::Accessibility::Accessible::Get( shadowview );
399   DALI_TEST_CHECK( accessible );
400   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
401
402   END_TEST;
403 }
404
405 #include <dali-toolkit/public-api/controls/control-impl.h>
406 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
407 int UtcDaliAccessibilityScrollableConstructor(void)
408 {
409   ToolkitTestApplication application;
410
411   auto scrollview = ScrollView::New();
412   DALI_TEST_CHECK( scrollview );
413
414   auto accessible = Dali::Accessibility::Accessible::Get( scrollview );
415   DALI_TEST_CHECK( accessible );
416   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::ScrollPane, TEST_LOCATION );
417
418   END_TEST;
419 }
420
421 #include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
422 int UtcDaliAccessibilityMagnifierConstructor(void)
423 {
424   ToolkitTestApplication application;
425
426   auto magnifier = Magnifier::New();
427   DALI_TEST_CHECK( magnifier );
428
429   auto accessible = Dali::Accessibility::Accessible::Get( magnifier );
430   DALI_TEST_CHECK( accessible );
431   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Filler, TEST_LOCATION );
432
433   END_TEST;
434 }
435
436 int UtcDaliAccessibilityTableViewConstructor(void)
437 {
438   ToolkitTestApplication application;
439
440   auto tableview = TableView::New( 10, 10 );
441   DALI_TEST_CHECK( tableview );
442
443   auto accessible = Dali::Accessibility::Accessible::Get( tableview );
444   DALI_TEST_CHECK( accessible );
445   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Table, TEST_LOCATION );
446
447   END_TEST;
448 }
449
450 #include <dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h>
451 int UtcDaliAccessibilityBloomViewConstructor(void)
452 {
453   ToolkitTestApplication application;
454
455   auto bloomview = BloomView::New();
456   DALI_TEST_CHECK( bloomview );
457
458   auto accessible = Dali::Accessibility::Accessible::Get( bloomview );
459   DALI_TEST_CHECK( accessible );
460   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Animation, TEST_LOCATION );
461
462   END_TEST;
463 }
464
465 #include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
466 int UtcDaliAccessibilityTextField(void)
467 {
468   ToolkitTestApplication application;
469
470   auto textfield = TextField::New();
471   DALI_TEST_CHECK( textfield );
472
473   textfield.SetName( "test" );
474   DALI_TEST_EQUALS( textfield.GetName(), "test", TEST_LOCATION );
475
476   auto accessible = Dali::Accessibility::Accessible::Get( textfield );
477   DALI_TEST_CHECK( accessible );
478
479   DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
480   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Entry, TEST_LOCATION );
481   auto states = accessible->GetStates();
482   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Editable ] ), true, TEST_LOCATION );
483
484   Dali::Accessibility::TestEnableSC( true );
485
486   textfield.SetProperty( Toolkit::TextField::Property::TEXT, "test" );
487   auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
488   DALI_TEST_CHECK( text );
489   DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
490   DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
491   DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
492   DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
493
494   auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
495   DALI_TEST_CHECK( editabletext );
496   DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
497   DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
498   DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
499   DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
500   DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
501
502   auto range = text->GetSelection( 1 );
503   DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
504   DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
505   DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
506   DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
507   DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
508
509   Dali::Accessibility::TestEnableSC( false );
510
511   END_TEST;
512 }
513
514 #include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
515 int UtcDaliAccessibilityTextEditor(void)
516 {
517   ToolkitTestApplication application;
518
519   auto texteditor = TextEditor::New();
520   DALI_TEST_CHECK( texteditor );
521
522   texteditor.SetName( "test" );
523   DALI_TEST_EQUALS( texteditor.GetName(), "test", TEST_LOCATION );
524
525   auto accessible = Dali::Accessibility::Accessible::Get( texteditor );
526   DALI_TEST_CHECK( accessible );
527
528   DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
529   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Entry, TEST_LOCATION );
530   auto states = accessible->GetStates();
531   DALI_TEST_EQUALS( static_cast< unsigned int >( states[ Accessibility::State::Editable ] ), true, TEST_LOCATION );
532
533   Dali::Accessibility::TestEnableSC( true );
534
535   texteditor.SetProperty( Toolkit::TextEditor::Property::TEXT, "test" );
536   auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
537   DALI_TEST_CHECK( text );
538   DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
539   DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION );
540   DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION );
541   DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION );
542
543   auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible );
544   DALI_TEST_CHECK( editabletext );
545   DALI_TEST_EQUALS( editabletext->CopyText( 3, 1 ), false, TEST_LOCATION );
546   DALI_TEST_EQUALS( editabletext->CopyText( 1, 3 ), true, TEST_LOCATION );
547   DALI_TEST_EQUALS( editabletext->CutText( 3, 1 ), false, TEST_LOCATION );
548   DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION );
549   DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION );
550
551   auto range = text->GetSelection( 1 );
552   DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
553   DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
554   DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
555   DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
556   DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
557
558   Dali::Accessibility::TestEnableSC( false );
559
560   END_TEST;
561 }
562
563 int UtcDaliAccessibilityTextLabel(void)
564 {
565   ToolkitTestApplication application;
566
567   auto textlabel = TextLabel::New();
568   DALI_TEST_CHECK( textlabel );
569
570   textlabel.SetName( "test" );
571   DALI_TEST_EQUALS( textlabel.GetName(), "test", TEST_LOCATION );
572
573   auto accessible = Dali::Accessibility::Accessible::Get( textlabel );
574   DALI_TEST_CHECK( accessible );
575
576   DALI_TEST_EQUALS( accessible->GetName(), "", TEST_LOCATION );
577   DALI_TEST_EQUALS( accessible->GetRole(), Accessibility::Role::Label, TEST_LOCATION );
578
579   Dali::Accessibility::TestEnableSC( true );
580
581   textlabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "test" );
582   auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible );
583   DALI_TEST_CHECK( text );
584   DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION );
585   DALI_TEST_EQUALS( text->GetText( 0, 4 ), "test", TEST_LOCATION );
586   DALI_TEST_EQUALS( text->SetCaretOffset(0), false, TEST_LOCATION );
587   DALI_TEST_EQUALS( text->GetCaretOffset(), 0, TEST_LOCATION );
588
589   auto range = text->GetSelection( 1 );
590   DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
591   DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
592   DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
593   DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION );
594   DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION );
595
596   Dali::Accessibility::TestEnableSC( false );
597
598   END_TEST;
599 }
600
601 #include <dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h>
602 int UtcDaliAccessibilityNavigationViewConstructor(void)
603 {
604   ToolkitTestApplication application;
605
606   auto navigationview = NavigationView::New();
607   DALI_TEST_CHECK( navigationview );
608
609   auto accessible = Dali::Accessibility::Accessible::Get( navigationview );
610   DALI_TEST_CHECK( accessible );
611
612   DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::FILLER, TEST_LOCATION );
613
614   END_TEST;
615 }
616
617 int UtcDaliAccessibilityVideoViewConstructor(void)
618 {
619   ToolkitTestApplication application;
620
621   auto videoview = VideoView::New();
622   DALI_TEST_CHECK( videoview );
623
624   auto accessible = Dali::Accessibility::Accessible::Get( videoview );
625   DALI_TEST_CHECK( accessible );
626
627   DALI_TEST_EQUALS( accessible->GetRole(), Dali::Accessibility::Role::VIDEO, TEST_LOCATION );
628
629   END_TEST;
630 }