+int UtcDaliControlAccessibileGet01(void)
+{
+ ToolkitTestApplication application;
+
+ auto control = Control::New();
+ auto accessible = dynamic_cast<DevelControl::ControlAccessible*>(Dali::Accessibility::Accessible::Get(control));
+ DALI_TEST_CHECK(accessible);
+
+ END_TEST;
+}
+
+int UtcDaliControlAccessibileGet02(void)
+{
+ ToolkitTestApplication application;
+
+ auto control = Control::New();
+
+ // Default is true.
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), true, TEST_LOCATION);
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), false, TEST_LOCATION);
+
+ DevelControl::EnableCreateAccessible(control, false);
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), false, TEST_LOCATION);
+ auto accessible = dynamic_cast<DevelControl::ControlAccessible*>(Dali::Accessibility::Accessible::Get(control));
+
+ // Check that we don't create accessible yet.
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), false, TEST_LOCATION);
+ DALI_TEST_CHECK(!accessible);
+
+ DevelControl::EnableCreateAccessible(control, true);
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), true, TEST_LOCATION);
+ accessible = dynamic_cast<DevelControl::ControlAccessible*>(Dali::Accessibility::Accessible::Get(control));
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), true, TEST_LOCATION);
+ DALI_TEST_CHECK(accessible);
+
+ DevelControl::EnableCreateAccessible(control, false);
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), false, TEST_LOCATION);
+ accessible = dynamic_cast<DevelControl::ControlAccessible*>(Dali::Accessibility::Accessible::Get(control));
+
+ // Check that we got created accessible well.
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), true, TEST_LOCATION);
+ DALI_TEST_CHECK(accessible);
+
+ END_TEST;
+}
+
+int UtcDaliControlAccessibileBlockAccessibleCreation(void)
+{
+ ToolkitTestApplication application;
+
+ auto control = Control::New();
+
+ // Default is true.
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), true, TEST_LOCATION);
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), false, TEST_LOCATION);
+
+ DevelControl::EnableCreateAccessible(control, false);
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), false, TEST_LOCATION);
+
+ try
+ {
+ // Should not throw exception even if accessible is not created.
+ DALI_TEST_EQUALS(DevelControl::ClearAccessibilityHighlight(control), false, TEST_LOCATION);
+ DALI_TEST_EQUALS(DevelControl::GrabAccessibilityHighlight(control), false, TEST_LOCATION);
+
+ DevelControl::GetAccessibilityStates(control);
+ DevelControl::NotifyAccessibilityStateChange(control, Dali::Accessibility::States{}, false);
+ DevelControl::NotifyAccessibilityStateChange(control, Dali::Accessibility::States{}, true);
+ DALI_TEST_CHECK(true);
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(false);
+ }
+
+ // Check that we don't create accessible yet.
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), false, TEST_LOCATION);
+
+ // Dummy function call - for line coverage
+ DevelControl::EnableCreateAccessible(control, true);
+ DALI_TEST_EQUALS(DevelControl::IsCreateAccessibleEnabled(control), true, TEST_LOCATION);
+ DALI_TEST_EQUALS(DevelControl::IsAccessibleCreated(control), false, TEST_LOCATION);
+
+ try
+ {
+ // Should not throw exception even if accessible is not created.
+ DevelControl::ClearAccessibilityHighlight(control);
+ DevelControl::GrabAccessibilityHighlight(control);
+ DevelControl::GetAccessibilityStates(control);
+ DevelControl::NotifyAccessibilityStateChange(control, Dali::Accessibility::States{}, false);
+ DevelControl::NotifyAccessibilityStateChange(control, Dali::Accessibility::States{}, true);
+ DALI_TEST_CHECK(true);
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(false);
+ }
+
+ END_TEST;
+}
+