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