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=fdd8f102507ba2bfe7877f7c52e8e977a4fb479e;hp=1a281823d8c3dfe3f7d52dd4991118e6587a8680;hb=8ede67ef1899f027d3b487b2defbe8be87b7f528;hpb=48c9eb7fcef012ccce2e73724faf224237d3054a 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 1a28182..fdd8f10 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 @@ -4,8 +4,9 @@ #include #include #include +#include #include -#include +#include #include #include #include @@ -89,6 +90,7 @@ int UtcDaliControlAccessibilityName(void) DALI_TEST_EQUALS( "Accessibility_Name_With_Callback" , TestGetName( q->GetAddress()), TEST_LOCATION ); + //TODO test emission of name change signal Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -120,6 +122,7 @@ int UtcDaliControlAccessibilityDescription(void) DALI_TEST_EQUALS( "Accessibility_Description_With_Callback" , TestGetDescription( q->GetAddress()), TEST_LOCATION ); + //TODO test emission of description change signal Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -159,6 +162,67 @@ int UtcDaliControlAccessibilityRole(void) END_TEST; } +int UtcDaliControlAccessibilityRoleToggleButton(void) +{ + ToolkitTestApplication application; + + auto control = Dali::Toolkit::ToggleButton::New(); + auto button = Dali::Accessibility::Role::TOGGLE_BUTTON; + + control.SetProperty(Toolkit::ToggleButton::Property::TOOLTIPS, + Property::Array{"option1", "option2"}); + + Dali::Accessibility::TestEnableSC( true ); + + control.SetProperty( DevelControl::Property::ACCESSIBILITY_ROLE, button ); + auto q = Dali::Accessibility::Accessible::Get( control ); + + DALI_TEST_EQUALS( button , q->GetRole(), TEST_LOCATION); + DALI_TEST_EQUALS( "toggle button" , q->GetRoleName(), TEST_LOCATION ); + + Dali::Accessibility::States states = q->GetStates(); + DALI_TEST_EQUALS( true , (bool)states[Dali::Accessibility::State::VISIBLE], TEST_LOCATION); + + DALI_TEST_EQUALS( "option1", q->GetDescription(), TEST_LOCATION ); + + auto i = dynamic_cast(q); + if (i) + i->GrabHighlight(); + + control.SetProperty( Toolkit::Button::Property::LABEL, "ToggleButton2" ); + DALI_TEST_EQUALS( "ToggleButton2", TestGetName( q->GetAddress() ), TEST_LOCATION ); + + Dali::Accessibility::TestEnableSC( false ); + + END_TEST; +} + +int UtcDaliControlAccessibilityButtonLabel(void) +{ + ToolkitTestApplication application; + + auto control = Dali::Toolkit::PushButton::New(); + auto button = Dali::Accessibility::Role::PUSH_BUTTON; + + Dali::Accessibility::TestEnableSC( true ); + + control.SetProperty( DevelControl::Property::ACCESSIBILITY_ROLE, button ); + + auto q = Dali::Accessibility::Accessible::Get( control ); + auto i = dynamic_cast(q); + + if (i) + i->GrabHighlight(); + + control.SetProperty( Toolkit::Button::Property::LABEL, "Button2" ); + + DALI_TEST_EQUALS( "Button2" , TestGetName( q->GetAddress() ), TEST_LOCATION ); + + Dali::Accessibility::TestEnableSC( false ); + + END_TEST; +} + int UtcDaliControlAccessibilityState(void) { ToolkitTestApplication application; @@ -180,10 +244,16 @@ int UtcDaliControlAccessibilityState(void) int UtcDaliControlAccessibilityModal(void) { ToolkitTestApplication application; - auto control = TextSelectionPopup::New( NULL ); - auto states = DevelControl::GetAccessibilityStates(control); - DALI_TEST_CHECK( states[ Dali::Accessibility::State::MODAL ] ); + auto control = Dali::Toolkit::Popup::New(); + auto q = Dali::Accessibility::Accessible::Get( control ); + + Dali::Accessibility::TestEnableSC( true ); + + auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )}; + DALI_TEST_CHECK( states_by_bridge[Dali::Accessibility::State::MODAL] ); + + Dali::Accessibility::TestEnableSC( false ); END_TEST; } @@ -196,6 +266,11 @@ int UtcDaliControlAccessibilityHighlightable(void) auto noneset = control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ); DALI_TEST_EQUALS( Property::NONE, noneset.GetType(), 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 ); + auto q = Dali::Accessibility::Accessible::Get( control ); Dali::Accessibility::TestEnableSC( true ); @@ -228,6 +303,10 @@ int UtcDaliControlAccessibilityHighlightBridgeUp(void) auto controla = Control::New(); auto controlb = Control::New(); + controla.Add(controlb); + + controla.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); + controlb.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); Dali::Accessibility::TestEnableSC( true ); @@ -381,6 +460,22 @@ int UtcDaliControlReadingInfoType(void) auto control = Control::New(); auto reading_info_type = DevelControl::GetAccessibilityReadingInfoType(control); + + for ( auto i = 0u; i < 4; ++i) + DALI_TEST_CHECK ( reading_info_type[ static_cast< Dali::Accessibility::ReadingInfoType >( i ) ]); + + reading_info_type[Dali::Accessibility::ReadingInfoType::DESCRIPTION] = false; + reading_info_type[Dali::Accessibility::ReadingInfoType::STATE] = false; + reading_info_type[Dali::Accessibility::ReadingInfoType::NAME] = false; + reading_info_type[Dali::Accessibility::ReadingInfoType::ROLE] = false; + + DevelControl::SetAccessibilityReadingInfoType(control, reading_info_type); + + reading_info_type = DevelControl::GetAccessibilityReadingInfoType(control); + + for ( auto i = 0u; i < 4; ++i) + DALI_TEST_CHECK ( false == reading_info_type[ static_cast< Dali::Accessibility::ReadingInfoType >( i ) ]); + reading_info_type[Dali::Accessibility::ReadingInfoType::DESCRIPTION] = true; reading_info_type[Dali::Accessibility::ReadingInfoType::STATE] = true; reading_info_type[Dali::Accessibility::ReadingInfoType::NAME] = true; @@ -742,16 +837,20 @@ int UtcDaliAccessibilityDoAction(void) ToolkitTestApplication application; Dali::Accessibility::TestEnableSC( true ); - thread_local std::vector< bool > actions_done { false, false, false, false }; + thread_local std::vector< bool > actions_done { false, false, false, false, false, false }; auto control = Control::New( ); auto a = Dali::Accessibility::Accessible::Get( control ); auto b = dynamic_cast( a ); - std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" }; + std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "ReadingPaused", "ReadingResumed", "show", "hide" }; - DALI_TEST_CHECK( b -> DoAction( actions[2] ) ); - DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); - DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); + // Test calling action by name + DALI_TEST_CHECK( b -> DoAction( actions[2] ) ); // ReadingSkipped + DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); // ReadingStopped + DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); // ReadingStopped + + // Negative test of calling action with not defined name + DALI_TEST_CHECK( !b -> DoAction( "undefined" ) ); DevelControl::AccessibilityReadingSkippedSignal(control).Connect( [] () { actions_done[ 1 ] = true; @@ -762,14 +861,23 @@ int UtcDaliAccessibilityDoAction(void) DevelControl::AccessibilityReadingStoppedSignal(control).Connect( [] () { actions_done[ 3 ] = true; } ); + DevelControl::AccessibilityReadingPausedSignal(control).Connect( [] () { + actions_done[ 4 ] = true; + } ); + DevelControl::AccessibilityReadingResumedSignal(control).Connect( [] () { + actions_done[ 5 ] = true; + } ); DevelControl::AccessibilityActivateSignal(control).Connect( [] () { actions_done[ 0 ] = true; } ); + // Test calling action by index DALI_TEST_CHECK( b -> DoAction( 1 ) ); DALI_TEST_CHECK( b -> DoAction( 2 ) ); DALI_TEST_CHECK( b -> DoAction( 3 ) ); DALI_TEST_CHECK( b -> DoAction( 4 ) ); + DALI_TEST_CHECK( b -> DoAction( 5 ) ); + DALI_TEST_CHECK( b -> DoAction( 6 ) ); for ( auto i = 0u; i < actions_done.size(); ++i ) { @@ -781,6 +889,8 @@ int UtcDaliAccessibilityDoAction(void) DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 2 ) ); DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 3 ) ); DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 4 ) ); + DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 5 ) ); + DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 6 ) ); for ( auto i = 0u; i < actions_done.size(); ++i ) { @@ -792,6 +902,8 @@ int UtcDaliAccessibilityDoAction(void) DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 2 ] ) ); DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 3 ] ) ); DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 4 ] ) ); + DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 5 ] ) ); + DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 6 ] ) ); for ( auto i = 0u; i < actions_done.size(); ++i ) DALI_TEST_CHECK( actions_done[ i ] ); @@ -800,3 +912,28 @@ int UtcDaliAccessibilityDoAction(void) END_TEST; } + +void TestVoidCallback() +{ +} + +int UtcDaliAccessibilitySignals(void) +{ + ToolkitTestApplication application; + ConnectionTracker connectionTracker; + Control control = Control::New(); + + DALI_TEST_CHECK( DevelControl::AccessibilityGetNameSignal(control).Empty() ); + control.ConnectSignal( &connectionTracker, "getName", &TestVoidCallback ); + DALI_TEST_CHECK( !DevelControl::AccessibilityGetNameSignal(control).Empty() ); + + DALI_TEST_CHECK( DevelControl::AccessibilityGetDescriptionSignal(control).Empty() ); + control.ConnectSignal( &connectionTracker, "getDescription", &TestVoidCallback ); + DALI_TEST_CHECK( !DevelControl::AccessibilityGetDescriptionSignal(control).Empty() ); + + DALI_TEST_CHECK( DevelControl::AccessibilityDoGestureSignal(control).Empty() ); + control.ConnectSignal( &connectionTracker, "doGesture", &TestVoidCallback ); + DALI_TEST_CHECK( !DevelControl::AccessibilityDoGestureSignal(control).Empty() ); + + END_TEST; +}