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-Controls-BridgeUp.cpp;h=9a79f349442d353e33a2d3cfd0b832ab266cfc32;hp=9e352e50f961a5210396217f4939675f7b7a748b;hb=d386c8d8e05053cef41a20db9727065aee3d2bd4;hpb=980728a7e35b8ddd28f70c090243e8076e21536e diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp index 9e352e5..9a79f34 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls-BridgeUp.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include @@ -267,13 +269,13 @@ int UtcDaliControlAccessibilityHighlightable(void) ToolkitTestApplication application; auto control = Control::New(); - auto noneset = control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ); - DALI_TEST_EQUALS( Property::NONE, noneset.GetType(), TEST_LOCATION ); + auto highlightable = control.GetProperty(DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE); + DALI_TEST_EQUALS(highlightable, false, TEST_LOCATION); // negative testcase - trying to set unconvertible value - control.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, "deadbeef" ); - noneset = control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ); - DALI_TEST_EQUALS( Property::NONE, noneset.GetType(), TEST_LOCATION ); + control.SetProperty(DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, "deadbeef"); + highlightable = control.GetProperty(DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE); + DALI_TEST_EQUALS(highlightable, false, TEST_LOCATION); auto q = Dali::Accessibility::Accessible::Get( control ); @@ -535,41 +537,45 @@ int UtcDaliAccessibilityRelation(void) Dali::Accessibility::TestEnableSC( true ); auto rel = Accessibility::RelationType::FLOWS_TO; - auto number = static_cast< size_t >( rel ); auto control = Control::New(); auto destination1 = Control::New(); auto destination2 = Control::New(); DevelControl::AppendAccessibilityRelation( control, destination1, rel ); auto relations = DevelControl::GetAccessibilityRelations(control); - DALI_TEST_CHECK( relations[ number ].size() == 1 ); + DALI_TEST_EQUALS(relations.size(), 1u, TEST_LOCATION); + DALI_TEST_EQUALS(relations[0].mRelationType, rel, TEST_LOCATION); + DALI_TEST_EQUALS(relations[0].mTargets.size(), 1u, TEST_LOCATION); DevelControl::AppendAccessibilityRelation( control, destination2, rel ); relations = DevelControl::GetAccessibilityRelations(control); - DALI_TEST_CHECK( relations[ number ].size() == 2 ); + DALI_TEST_EQUALS(relations.size(), 1u, TEST_LOCATION); + DALI_TEST_EQUALS(relations[0].mRelationType, rel, TEST_LOCATION); + DALI_TEST_EQUALS(relations[0].mTargets.size(), 2u, TEST_LOCATION); auto accessible = Dali::Accessibility::Accessible::Get( control ); auto accessible_destination1 = Dali::Accessibility::Accessible::Get( destination1 ); auto accessible_destination2 = Dali::Accessibility::Accessible::Get( destination2 ); auto relationset = accessible->GetRelationSet(); - DALI_TEST_CHECK( relationset[0].relationType == rel ); - DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination1->GetAddress() || relationset[0].targets[1] == accessible_destination1->GetAddress() ); - DALI_TEST_CHECK( relationset[0].targets[0] == accessible_destination2->GetAddress() || relationset[0].targets[1] == accessible_destination2->GetAddress() ); + DALI_TEST_CHECK( relationset[0].mRelationType == rel ); + DALI_TEST_CHECK( relationset[0].mTargets[0] == accessible_destination1 || relationset[0].mTargets[1] == accessible_destination1 ); + DALI_TEST_CHECK( relationset[0].mTargets[0] == accessible_destination2 || relationset[0].mTargets[1] == accessible_destination2 ); auto relationset_bridge = TestGetRelationSet( accessible -> GetAddress() ); - DALI_TEST_CHECK( static_cast< uint32_t >( relationset[0].relationType ) == std::get<0>( relationset_bridge[0] ) ); + DALI_TEST_CHECK( static_cast< uint32_t >( relationset[0].mRelationType ) == std::get<0>( relationset_bridge[0] ) ); - DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[0] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[0] ); - DALI_TEST_CHECK( relationset[0].targets[0] == std::get<1>( relationset_bridge[0] )[1] || relationset[0].targets[1] == std::get<1>( relationset_bridge[0] )[1] ); + DALI_TEST_CHECK( relationset[0].mTargets[0]->GetAddress() == std::get<1>( relationset_bridge[0] )[0] || relationset[0].mTargets[1]->GetAddress() == std::get<1>( relationset_bridge[0] )[0] ); + DALI_TEST_CHECK( relationset[0].mTargets[0]->GetAddress() == std::get<1>( relationset_bridge[0] )[1] || relationset[0].mTargets[1]->GetAddress() == std::get<1>( relationset_bridge[0] )[1] ); - DevelControl::RemoveAccessibilityRelation(control,destination2,rel); + DevelControl::RemoveAccessibilityRelation(control, destination2, rel); relations = DevelControl::GetAccessibilityRelations(control); - DALI_TEST_CHECK( relations[ number ].size() == 1 ); + DALI_TEST_EQUALS(relations.size(), 1u, TEST_LOCATION); + DALI_TEST_EQUALS(relations[0].mTargets.size(), 1u, TEST_LOCATION); DevelControl::ClearAccessibilityRelations(control); relations = DevelControl::GetAccessibilityRelations(control); - DALI_TEST_CHECK( relations[ number ].size() == 0 ); + DALI_TEST_EQUALS(relations.size(), 0u, TEST_LOCATION); Dali::Accessibility::TestEnableSC( false ); @@ -613,7 +619,7 @@ int UtcDaliAccessibilityParentChildren(void) child_1_accessible -> GetIndexInParent(); DALI_ABORT("Object has parent, test abort"); } - catch (Dali::DaliException &){} + catch (const std::domain_error&){} parent.Add(child_1); parent.Add(child_2); @@ -1075,6 +1081,17 @@ int UtcDaliAccessibilityScrollToChildScrollView(void) actorB.SetProperty( Dali::Actor::Property::POSITION, positionB ); scrollView.Add(actorB); + TableView tableView = TableView::New( 2, 2 ); // 2 by 2 grid. + tableView.SetProperty( Actor::Property::SIZE, Vector2(100.0f, 100.0f) ); + scrollView.Add(tableView); + + PushButton actorC = PushButton::New(); + actorC.SetProperty( Actor::Property::SIZE, Vector2(50.0f, 50.0f) ); + tableView.AddChild( actorC, TableView::CellPosition( 0, 0 ) ); + + PushButton actorD = PushButton::New(); + application.GetScene().Add( actorD ); + Wait(application); auto* accessibleParent = dynamic_cast(Dali::Accessibility::Accessible::Get(scrollView)); @@ -1083,12 +1100,22 @@ int UtcDaliAccessibilityScrollToChildScrollView(void) DALI_TEST_CHECK(accessibleA); auto* accessibleB = dynamic_cast(Dali::Accessibility::Accessible::Get(actorB)); DALI_TEST_CHECK(accessibleB); + auto* accessibleC = dynamic_cast(Dali::Accessibility::Accessible::Get(actorC)); + DALI_TEST_CHECK(accessibleC); accessibleA->GrabHighlight(); // == scrollView.ScrollTo(actorA) Wait(application); accessibleB->GrabHighlight(); // == scrollView.ScrollTo(actorB) Wait(application); + // scrollView is ancestor of actorC + // This should work without a crash + accessibleC->GrabHighlight(); // == scrollView.ScrollTo(actorC) + Wait(application); + + // negative testcase calling ScrollToChild using non-child actor + accessibleParent->ScrollToChild(actorD); + Dali::Accessibility::TestEnableSC( false ); END_TEST; } @@ -1160,7 +1187,7 @@ int UtcDaliAccessibilityScrollToChildNonScrollable(void) DALI_TEST_EQUALS(accessible->IsScrollable(), false, TEST_LOCATION); DALI_TEST_EQUALS(accessible->ScrollToChild({}), false, TEST_LOCATION); - DALI_TEST_EQUALS(accessible->GetInternalActor(), Dali::Actor{}, TEST_LOCATION); + DALI_TEST_EQUALS(accessible->GetInternalActor(), label, TEST_LOCATION); Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -1277,3 +1304,42 @@ int UtcDaliAccessibilityCheckHighlight(void) Dali::Accessibility::TestEnableSC( false ); END_TEST; } + +int UtcDaliWebViewAccessible(void) +{ + ToolkitTestApplication application; + + auto webView = Dali::Toolkit::WebView::New(); + auto webViewAccessible = Dali::Accessibility::Accessible::Get(webView); + + DALI_TEST_CHECK(webViewAccessible); + + auto children = webViewAccessible->GetChildren(); + + DALI_TEST_CHECK(children.empty()); + + Dali::Accessibility::TestEnableSC(true); + + children = webViewAccessible->GetChildren(); + + DALI_TEST_EQUALS(children.size(), 1u, TEST_LOCATION); + + auto* child = children[0]; + + DALI_TEST_CHECK(child); + DALI_TEST_CHECK(child->IsProxy()); + DALI_TEST_EQUALS(child->GetParent(), webViewAccessible, TEST_LOCATION); + + auto address = child->GetAddress(); + + DALI_TEST_CHECK(address); + DALI_TEST_NOT_EQUALS(address.GetBus(), webViewAccessible->GetAddress().GetBus(), 0.0f, TEST_LOCATION); + + Dali::Accessibility::TestEnableSC(false); + + children = webViewAccessible->GetChildren(); + + DALI_TEST_CHECK(children.empty()); + + END_TEST; +}