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=9a3ef2b2aa7f5edc606f73cf6cd6b4eceaebb129;hp=6d47f06a3392691fafc89b17eebccb6c2532bec9;hb=6f485d7d7c5b45e6b178d949d72e595d5a87121c;hpb=bc2c6d28fe9649c0353e5d8b8f2245f4011f9744 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 6d47f06..9a3ef2b 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 @@ -3,10 +3,16 @@ #include #include #include -#include +#include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include @@ -263,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 ); @@ -609,7 +615,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); @@ -694,17 +700,24 @@ int UtcDaliAccessibilityGrabFocus(void) END_TEST; } -int UtcDaliAccessibilityGetExtents(void) +int UtcDaliAccessibilityGetExtentsScreenAndWindowPositionMatch(void) { ToolkitTestApplication application; + tet_infoline( "UtcDaliAccessibilityGetExtentsScreenAndWindowPositionMatch" ); Dali::Accessibility::TestEnableSC( true ); auto control = Control::New(); Stage::GetCurrent().GetRootLayer().Add( control ); - control.SetProperty(Actor::Property::POSITION, Vector3(10, 10, 100)); - control.SetProperty(Actor::Property::SIZE, Vector2(10, 10)); + auto window = Dali::DevelWindow::Get( control ); + DALI_TEST_CHECK( window ); + + //window.SetPosition({0,0}); + DevelWindow::SetPositionSize( window, PositionSize( 0,0,480, 240 ) ); + + control.SetProperty( Actor::Property::POSITION, Vector3( 10, 10, 100 ) ); + control.SetProperty( Actor::Property::SIZE, Vector2( 10, 10 ) ); application.SendNotification(); application.Render( 1 ); @@ -712,13 +725,103 @@ int UtcDaliAccessibilityGetExtents(void) auto a = Dali::Accessibility::Accessible::Get( control ); auto a_component = dynamic_cast( a ); - auto extents = a_component->GetExtents(Dali::Accessibility::CoordinateType::SCREEN); + auto extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( extents.x, 5.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 5.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + auto bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::WINDOW ); + DALI_TEST_EQUALS( extents.x, 5.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 5.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::WINDOW ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + control.SetProperty( Dali::DevelActor::Property::POSITION_USES_ANCHOR_POINT, false ); + application.SendNotification(); + application.Render( 1 ); + + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( extents.x, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::WINDOW ); + DALI_TEST_EQUALS( extents.x, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::WINDOW ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + Dali::Accessibility::TestEnableSC( false ); + + END_TEST; +} + +int UtcDaliAccessibilityGetExtentsScreenAndWindowPositionDoNotMatch(void) +{ + ToolkitTestApplication application; + + Dali::Accessibility::TestEnableSC( true ); + + auto control = Control::New(); + Stage::GetCurrent().GetRootLayer().Add( control ); + auto window = Dali::DevelWindow::Get( control ); + //window.SetPosition({33,33}); + DevelWindow::SetPositionSize( window, PositionSize( 33,33,480, 240 ) ); + + control.SetProperty( Actor::Property::POSITION, Vector3( 10, 10, 100 ) ); + control.SetProperty( Actor::Property::SIZE, Vector2( 10, 10 ) ); + + application.SendNotification(); + application.Render( 1 ); + + auto a = Dali::Accessibility::Accessible::Get( control ); + auto a_component = dynamic_cast( a ); + + auto extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( extents.x, 38.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 38.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + auto bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 38, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 38, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::WINDOW ); DALI_TEST_EQUALS( extents.x, 5.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.y, 5.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); - auto bridge_extents = TestGetExtents( a_component -> GetAddress() ); + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::WINDOW ); DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 5, TEST_LOCATION ); DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 5, TEST_LOCATION ); DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); @@ -728,13 +831,25 @@ int UtcDaliAccessibilityGetExtents(void) application.SendNotification(); application.Render( 1 ); - extents = a_component->GetExtents(Dali::Accessibility::CoordinateType::SCREEN); + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( extents.x, 43.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.y, 43.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); + + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::SCREEN ); + DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 43, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 43, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); + DALI_TEST_EQUALS( std::get< 3 >( bridge_extents ), 10, TEST_LOCATION ); + + extents = a_component->GetExtents( Dali::Accessibility::CoordinateType::WINDOW ); DALI_TEST_EQUALS( extents.x, 10.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.y, 10.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.height, 10.0f, TEST_LOCATION ); DALI_TEST_EQUALS( extents.width, 10.0f, TEST_LOCATION ); - bridge_extents = TestGetExtents( a_component -> GetAddress() ); + bridge_extents = TestGetExtents( a_component -> GetAddress(), Dali::Accessibility::CoordinateType::WINDOW ); DALI_TEST_EQUALS( std::get< 0 >( bridge_extents ), 10, TEST_LOCATION ); DALI_TEST_EQUALS( std::get< 1 >( bridge_extents ), 10, TEST_LOCATION ); DALI_TEST_EQUALS( std::get< 2 >( bridge_extents ), 10, TEST_LOCATION ); @@ -962,20 +1077,41 @@ 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)); + auto* accessibleParent = dynamic_cast(Dali::Accessibility::Accessible::Get(scrollView)); DALI_TEST_CHECK(accessibleParent); - auto* accessibleA = dynamic_cast(Dali::Accessibility::Accessible::Get(actorA)); + auto* accessibleA = dynamic_cast(Dali::Accessibility::Accessible::Get(actorA)); DALI_TEST_CHECK(accessibleA); - auto* accessibleB = dynamic_cast(Dali::Accessibility::Accessible::Get(actorB)); + 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; } @@ -1019,11 +1155,11 @@ int UtcDaliAccessibilityScrollToChildItemView(void) Wait(application); - auto* accessibleParent = dynamic_cast(Dali::Accessibility::Accessible::Get(view)); + auto* accessibleParent = dynamic_cast(Dali::Accessibility::Accessible::Get(view)); DALI_TEST_CHECK(accessibleParent); - auto* accessibleA = dynamic_cast(Dali::Accessibility::Accessible::Get(view.GetItem(0))); + auto* accessibleA = dynamic_cast(Dali::Accessibility::Accessible::Get(view.GetItem(0))); DALI_TEST_CHECK(accessibleA); - auto* accessibleB = dynamic_cast(Dali::Accessibility::Accessible::Get(view.GetItem(1))); + auto* accessibleB = dynamic_cast(Dali::Accessibility::Accessible::Get(view.GetItem(1))); DALI_TEST_CHECK(accessibleB); accessibleA->GrabHighlight(); // == view.ScrollToItem(view.GetItemId(actorA)) @@ -1042,11 +1178,12 @@ int UtcDaliAccessibilityScrollToChildNonScrollable(void) TextLabel label = TextLabel::New("123"); - auto* accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(label)); + auto* accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(label)); DALI_TEST_CHECK(accessible); DALI_TEST_EQUALS(accessible->IsScrollable(), false, TEST_LOCATION); DALI_TEST_EQUALS(accessible->ScrollToChild({}), false, TEST_LOCATION); + DALI_TEST_EQUALS(accessible->GetInternalActor(), label, TEST_LOCATION); Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -1060,54 +1197,139 @@ int UtcDaliAccessibilityCheckHighlight(void) // Make precondition two children exist in parent area PushButton parentButton = PushButton::New(); + parentButton.SetProperty(Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_TO_BOUNDING_BOX); parentButton.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); parentButton.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); - parentButton.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, 0.0f) ); - parentButton.SetProperty( Dali::Actor::Property::SIZE, Dali::Vector2(100.0f, 200.0f) ); + parentButton.SetProperty(Actor::Property::POSITION, Dali::Vector2(0.0f, 0.0f)); + parentButton.SetProperty(Actor::Property::SIZE, Dali::Vector2(100.0f, 200.0f)); application.GetScene().Add( parentButton ); PushButton buttonA = PushButton::New(); buttonA.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); buttonA.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); - buttonA.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, 0.0f) ); - buttonA.SetProperty( Dali::Actor::Property::SIZE, Dali::Vector2(100.0f, 100.0f) ); + buttonA.SetProperty(Actor::Property::POSITION, Dali::Vector2(0.0f, 0.0f)); + buttonA.SetProperty(Actor::Property::SIZE, Dali::Vector2(100.0f, 100.0f)); parentButton.Add(buttonA); PushButton buttonB = PushButton::New(); buttonB.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); buttonB.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); - buttonB.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, 100.0f) ); - buttonB.SetProperty( Dali::Actor::Property::SIZE, Dali::Vector2(100.0f, 100.0f) ); + buttonB.SetProperty(Actor::Property::POSITION, Dali::Vector2(0.0f, 100.0f)); + buttonB.SetProperty(Actor::Property::SIZE, Dali::Vector2(100.0f, 100.0f)); parentButton.Add(buttonB); Wait(application); - // Move second child out of parent area - auto* accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(buttonA)); + // Set highlight to first child (A) to enable movement tracking + auto* accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(buttonA)); DALI_TEST_CHECK(accessible); accessible->GrabHighlight(); Wait(application); - buttonA.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, -200.0f) ); + // Move first child (A) out of parent area through the parent's area top edge - single move outed event expected for A object and OUTGOING_TOP_LEFT direction + buttonA.SetProperty(Actor::Property::POSITION, Dali::Vector2(0.0f, -200.0f)); Wait(application); - // Need one more seding notificaiton to get correct updated position + // Need one more notificaiton to get correct updated position application.SendNotification(); DALI_TEST_EQUALS( true, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); // Reset verdict data Dali::Accessibility::TestResetMoveOutedCalled(); - // Move second child out of parent area - accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(buttonB)); + // Move first child (A) outside of parent area (both start and end position are outside of parent area) - no move outed event expected for A object + buttonA.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, -300.0f) ); + Wait(application); + // Need one more notificaiton to get correct updated position + application.SendNotification(); + DALI_TEST_EQUALS( false, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); + + // Reset verdict data + Dali::Accessibility::TestResetMoveOutedCalled(); + + // Set highlight to second child (B) to enable movement tracking + accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(buttonB)); DALI_TEST_CHECK(accessible); accessible->GrabHighlight(); Wait(application); + // Move second child (B) inside of parent area (both start and end position are inside of parent area) - no move outed event expected for B object + // B: (0,100) --> (0, 50) + buttonB.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, 50.0f) ); + Wait(application); + // Need one more notificaiton to get correct updated position + application.SendNotification(); + DALI_TEST_EQUALS( false, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); + + // Reset verdict data + Dali::Accessibility::TestResetMoveOutedCalled(); + + // Move second child (B) out of parent area through the parent's area right edge - single move outed event expected for B object and OUTGOING_BOTTOM_RIGHT direction + buttonB.SetProperty(Actor::Property::POSITION, Dali::Vector2(300.0f, 100.0f)); + Wait(application); + // Need one more notificaiton to get correct updated position + application.SendNotification(); + DALI_TEST_EQUALS( true, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); + + // Reset verdict data + Dali::Accessibility::TestResetMoveOutedCalled(); + + // Move second child (B) back into parent area (start position is outside but end position is inside of parent area) - no move outed event expected for B object + // B: (300,100) --> (0, 100) + buttonB.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(0.0f, 100.0f) ); + Wait(application); + // Need one more seding notificaiton to get correct updated position + application.SendNotification(); + DALI_TEST_EQUALS( false, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); + + // Reset verdict data + Dali::Accessibility::TestResetMoveOutedCalled(); + + // Disable movement tracking on B by giving highlight to A + accessible = dynamic_cast(Dali::Accessibility::Accessible::Get(buttonA)); + DALI_TEST_CHECK(accessible); + accessible->GrabHighlight(); + Wait(application); + + // Move B (untracked) out of parent area through the parent's area right edge - no move outed event expected for B object + // B: (0,100) --> (300, 100) buttonB.SetProperty( Dali::Actor::Property::POSITION, Dali::Vector2(300.0f, 100.0f) ); Wait(application); // Need one more seding notificaiton to get correct updated position application.SendNotification(); - DALI_TEST_EQUALS( true, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); + DALI_TEST_EQUALS( false, Dali::Accessibility::TestGetMoveOutedCalled(), TEST_LOCATION ); 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 address = children[0]->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; +}