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