X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Accessibility-Accessible.cpp;h=60e1892e5be3bac82438ec17966f5edcebd3a66b;hp=423893a6eb062a3eea167123aac1d191538b218d;hb=HEAD;hpb=38d93dff71e384703046223789412358afb2036a diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp index 423893a..eee08a7 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Accessible.cpp @@ -19,11 +19,14 @@ // test harness headers before dali headers. #include -#include #include +#include +#include +#include +#include #include -#include +#include #include @@ -43,10 +46,10 @@ int utcDaliAccessibilityCheckBoxButtonGetStates(void) ToolkitTestApplication application; auto check_box_button = Toolkit::CheckBoxButton::New(); - auto q = Dali::Accessibility::Accessible::Get( check_box_button ); - DALI_TEST_CHECK( q ); + auto q = Dali::Accessibility::Accessible::Get(check_box_button); + DALI_TEST_CHECK(q); auto states = q->GetStates(); - DALI_TEST_EQUALS( (int) states[ Dali::Accessibility::State::SELECTABLE ], (int) true, TEST_LOCATION ); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SELECTABLE], (int)true, TEST_LOCATION); END_TEST; } @@ -58,9 +61,9 @@ int utcDaliAccessibilityCheckLabelText(void) auto check_box_button = Toolkit::CheckBoxButton::New(); //check_box_button.SetLabelText( "button" ); check_box_button.SetProperty(Toolkit::Button::Property::LABEL, "button"); - auto q = Dali::Accessibility::Accessible::Get( check_box_button ); - DALI_TEST_CHECK( q ); - DALI_TEST_EQUALS( q->GetName(), "button", TEST_LOCATION ); + auto q = Dali::Accessibility::Accessible::Get(check_box_button); + DALI_TEST_CHECK(q); + DALI_TEST_EQUALS(q->GetName(), "button", TEST_LOCATION); END_TEST; } @@ -75,7 +78,7 @@ int UtcDaliAccessibilityCheckShowingState(void) parentButton.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); parentButton.SetProperty(Actor::Property::POSITION, Dali::Vector2(0.0f, 0.0f)); parentButton.SetProperty(Actor::Property::SIZE, Dali::Vector2(200.0f, 200.0f)); - application.GetScene().Add( parentButton ); + application.GetScene().Add(parentButton); // Toatally inside of parent auto buttonA = Toolkit::PushButton::New(); @@ -97,7 +100,7 @@ int UtcDaliAccessibilityCheckShowingState(void) auto buttonC = Toolkit::PushButton::New(); buttonC.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); buttonC.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); - buttonC.SetProperty(Actor::Property::POSITION, Dali::Vector2(100.0f,100.0f)); + buttonC.SetProperty(Actor::Property::POSITION, Dali::Vector2(100.0f, 100.0f)); buttonC.SetProperty(Actor::Property::SIZE, Dali::Vector2(200.0f, 200.0f)); parentButton.Add(buttonC); @@ -107,17 +110,17 @@ int UtcDaliAccessibilityCheckShowingState(void) auto q = Dali::Accessibility::Accessible::Get(buttonA); DALI_TEST_CHECK(q); auto states = q->GetStates(); - DALI_TEST_EQUALS((int) states[Dali::Accessibility::State::SHOWING], (int) true, TEST_LOCATION); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SHOWING], (int)true, TEST_LOCATION); q = Dali::Accessibility::Accessible::Get(buttonB); DALI_TEST_CHECK(q); states = q->GetStates(); - DALI_TEST_EQUALS((int) states[Dali::Accessibility::State::SHOWING], (int) false, TEST_LOCATION); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SHOWING], (int)true, TEST_LOCATION); q = Dali::Accessibility::Accessible::Get(buttonC); DALI_TEST_CHECK(q); states = q->GetStates(); - DALI_TEST_EQUALS((int) states[Dali::Accessibility::State::SHOWING], (int) true, TEST_LOCATION); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SHOWING], (int)true, TEST_LOCATION); // Make SHOWING object invisible buttonC.SetProperty(Actor::Property::VISIBLE, false); @@ -126,7 +129,148 @@ int UtcDaliAccessibilityCheckShowingState(void) application.Render(16); states = q->GetStates(); - DALI_TEST_EQUALS((int) states[Dali::Accessibility::State::SHOWING], (int) false, TEST_LOCATION); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SHOWING], (int)false, TEST_LOCATION); + + // Make SHOWING parent invisible + parentButton.SetProperty(Actor::Property::VISIBLE, false); + + application.SendNotification(); + application.Render(16); + + q = Dali::Accessibility::Accessible::Get(buttonA); + DALI_TEST_CHECK(q); + states = q->GetStates(); + DALI_TEST_EQUALS((int)states[Dali::Accessibility::State::SHOWING], (int)false, TEST_LOCATION); END_TEST; -} \ No newline at end of file +} + +int utcDaliAccessibilityHidden(void) +{ + ToolkitTestApplication application; + + auto parent = Toolkit::Control::New(); + auto* parentAccessible = Accessibility::Accessible::Get(parent); + auto control = Toolkit::Control::New(); + auto* controlAccessible = Accessibility::Accessible::Get(control); + + parent.Add(control); + + // Check not hidden + DALI_TEST_CHECK(parentAccessible && controlAccessible); + DALI_TEST_CHECK(!controlAccessible->IsHidden()); + DALI_TEST_CHECK(!control.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIDDEN)); + DALI_TEST_EQUALS(parentAccessible->GetChildCount(), 1u, TEST_LOCATION); + DALI_TEST_EQUALS(parentAccessible->GetChildAtIndex(0), controlAccessible, TEST_LOCATION); + + control.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIDDEN, true); + + // Check hidden + DALI_TEST_CHECK(controlAccessible->IsHidden()); + DALI_TEST_CHECK(control.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIDDEN)); + DALI_TEST_EQUALS(parentAccessible->GetChildCount(), 0u, TEST_LOCATION); + + END_TEST; +} + +int utcDaliAutomationId(void) +{ + ToolkitTestApplication application; + Dali::Property::Index automationIdIndex = Toolkit::DevelControl::Property::AUTOMATION_ID; + std::string automationIdKey = "automationId"; + std::string automationIdValue = "test123"; + + auto control = Toolkit::Control::New(); + auto* controlAccessible = Accessibility::Accessible::Get(control); + + // Check that there is no automationId initially + DALI_TEST_CHECK(control.GetProperty(automationIdIndex).empty()); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(automationIdKey) == attributes.end()); + + // Set automationId + control.SetProperty(automationIdIndex, automationIdValue); + + // Check that automationId is set + DALI_TEST_EQUALS(control.GetProperty(automationIdIndex), automationIdValue, TEST_LOCATION); + attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(automationIdKey) != attributes.end()); + DALI_TEST_EQUALS(attributes[automationIdKey], automationIdValue, TEST_LOCATION); + + // Unset automationId + control.SetProperty(automationIdIndex, ""); + + // Check that there is no automationId + DALI_TEST_CHECK(control.GetProperty(automationIdIndex).empty()); + attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(automationIdKey) == attributes.end()); + + END_TEST; +} + +int utcDaliImgSrc(void) +{ + ToolkitTestApplication application; + const std::string imageSrcKey = "imgSrc"; + // Check that imgSrc is NOT added for non-image view w/ no additional property + { + const auto checkBoxButton = Toolkit::CheckBoxButton::New(); + const auto controlAccessible = Dali::Accessibility::Accessible::Get(checkBoxButton); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(imageSrcKey) == attributes.end()); + } + + // Check that imgSrc is NOT added for non-image view w/ additional properties + { + const auto textLabel = Toolkit::TextLabel::New("Hello"); + const auto controlAccessible = Dali::Accessibility::Accessible::Get(textLabel); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(imageSrcKey) == attributes.end()); + } + + // Check that imgSrc is added for image view w/ Url + { + const std::string imagePath = "gallery-small-1.jpg"; + const auto imageView = Toolkit::ImageView::New(imagePath); + const auto controlAccessible = Dali::Accessibility::Accessible::Get(imageView); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(imageSrcKey) != attributes.end()); + DALI_TEST_EQUALS(attributes[imageSrcKey], imagePath, TEST_LOCATION); + } + + // Check that imgSrc is added for image view w/ imageMap; single url case + { + const std::string imagePathForImageMap = "icon-edit.png"; + Property::Map imageMap; + imageMap[Toolkit::ImageVisual::Property::URL] = imagePathForImageMap; + imageMap[Toolkit::ImageVisual::Property::RELEASE_POLICY] = Toolkit::ImageVisual::ReleasePolicy::DETACHED; + + auto imageView = Toolkit::ImageView::New(); + imageView.SetProperty(Toolkit::ImageView::Property::IMAGE, imageMap); + + const auto controlAccessible = Dali::Accessibility::Accessible::Get(imageView); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(imageSrcKey) != attributes.end()); + DALI_TEST_EQUALS(attributes[imageSrcKey], imagePathForImageMap, TEST_LOCATION); + } + + // Check that imgSrc is added for image view w/ imageMap; url array returns first element + { + const std::string image1 = "application-icon-20.png"; + const std::string image2 = "application-icon-21.png"; + Property::Map imageMap; + Property::Array urls{image1, image2}; + imageMap[Toolkit::ImageVisual::Property::URL] = urls; + imageMap[Toolkit::ImageVisual::Property::RELEASE_POLICY] = Toolkit::ImageVisual::ReleasePolicy::DETACHED; + + auto imageView = Toolkit::ImageView::New(); + imageView.SetProperty(Toolkit::ImageView::Property::IMAGE, imageMap); + + const auto controlAccessible = Dali::Accessibility::Accessible::Get(imageView); + auto attributes = controlAccessible->GetAttributes(); + DALI_TEST_CHECK(attributes.find(imageSrcKey) != attributes.end()); + DALI_TEST_EQUALS(attributes[imageSrcKey], image1, TEST_LOCATION); + } + + END_TEST; +}