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