X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Accessibility-Controls.cpp;h=df21268c55d83b036571de789266d5ca473d6a22;hb=caf5fc04c96e724057981f4c7e7981e0c217f297;hp=f3d97a9fa6e7c3d8be1704382c97226442e8aac8;hpb=950447e00422e94e22ce64a69a13ebf1235b12c6;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp index f3d97a9..df21268 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Accessibility-Controls.cpp @@ -4,7 +4,13 @@ #include #include -#include +#include +#include +#include +#include +#include +#include +#include #include @@ -30,7 +36,7 @@ int UtcDaliControlPropertyAccessibilityTranslationDomain(void) auto control = Control::New(); auto accessibility_translation_domain = DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN; - DALI_TEST_EQUALS( Property::NONE , control.GetProperty( accessibility_translation_domain ).GetType(), TEST_LOCATION ); + DALI_TEST_EQUALS("", control.GetProperty(accessibility_translation_domain), TEST_LOCATION); control.SetProperty( accessibility_translation_domain, "translation_domain_test_1" ); DALI_TEST_EQUALS( "translation_domain_test_1" , control.GetProperty( accessibility_translation_domain ).Get< std::string >(), TEST_LOCATION ); @@ -516,6 +522,39 @@ int UtcDaliAccessibilityBloomViewConstructor(void) } #include +#include +int UtcDaliAccessibilityTextAnchor(void) +{ + ToolkitTestApplication application; + + auto textanchor = TextAnchor::New(); + DALI_TEST_CHECK( textanchor ); + + auto textlabel = TextLabel::New(); + DALI_TEST_CHECK( textlabel ); + + Dali::Accessibility::TestEnableSC( true ); + + textlabel.Add(textanchor); + auto accessible = Dali::Accessibility::Accessible::Get( textanchor ); + DALI_TEST_CHECK( accessible ); + auto hyperlink = dynamic_cast< Dali::Accessibility::Hyperlink* >( accessible ); + DALI_TEST_CHECK( hyperlink ); + textanchor.SetProperty( Toolkit::TextAnchor::Property::URI, "https://www.tizen.org" ); + DALI_TEST_EQUALS( hyperlink->IsValid(), true, TEST_LOCATION ); + auto action = dynamic_cast( accessible ); + // activation of valid hyperlink + DALI_TEST_CHECK( action->DoAction( "accessibilityActivated" ) ); + // making hyperlink invalid + textanchor.SetProperty( Toolkit::TextAnchor::Property::URI, "" ); + DALI_TEST_EQUALS( hyperlink->IsValid(), false, TEST_LOCATION ); + DALI_TEST_CHECK( !action->DoAction( "accessibilityActivated" ) ); + + Dali::Accessibility::TestEnableSC( false ); + + END_TEST; +} + int UtcDaliAccessibilityTextField(void) { ToolkitTestApplication application; @@ -540,9 +579,9 @@ int UtcDaliAccessibilityTextField(void) auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible ); DALI_TEST_CHECK( text ); DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION ); - DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetCursorOffset(100), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetCursorOffset(2), true, TEST_LOCATION ); + DALI_TEST_EQUALS( text->GetCursorOffset(), 2, TEST_LOCATION ); auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible ); DALI_TEST_CHECK( editabletext ); @@ -552,13 +591,65 @@ int UtcDaliAccessibilityTextField(void) DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION ); DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION ); - auto range = text->GetSelection( 1 ); + auto range = text->GetRangeOfSelection( 1 ); DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.content, "", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION ); DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION ); + DALI_TEST_EQUALS(editabletext->SetTextContents("adef"), true, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(1, "bc"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 6), "abcdef", TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->DeleteText(5, 1), false, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->DeleteText(1, 5), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 2), "af", TEST_LOCATION); + + auto hypertext = dynamic_cast< Dali::Accessibility::Hypertext* >( accessible ); + DALI_TEST_CHECK( hypertext ); + // text without the anchors markup and ENABLE_MARKUP property set (by default) to false + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set (by default) to false + textfield.SetProperty( Toolkit::TextField::Property::TEXT, "12345anchor112345veryveryveryveryveryveryveryverylonganchor212345anchor312345" ); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set to true + textfield.SetProperty( Toolkit::TextField::Property::ENABLE_MARKUP, true); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 3, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), 0, TEST_LOCATION ); //1st anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 17 ), 1, TEST_LOCATION ); //2nd anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 66 ), 2, TEST_LOCATION ); //3rd anchor index + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + auto hyperlink = hypertext->GetLink( 0 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 12, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorCount(), 1, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorUri( 0 ), "https://www.tizen.org", TEST_LOCATION ); + auto anchorAccessible = hyperlink->GetAnchorAccessible( 0 ); + DALI_TEST_EQUALS( hyperlink == anchorAccessible, true, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 1 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 17, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 60, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 2 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 65, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 72, TEST_LOCATION ); + Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -589,9 +680,9 @@ int UtcDaliAccessibilityTextEditor(void) auto text = dynamic_cast< Dali::Accessibility::Text* >( accessible ); DALI_TEST_CHECK( text ); DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetCaretOffset(100), false, TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetCaretOffset(2), true, TEST_LOCATION ); - DALI_TEST_EQUALS( text->GetCaretOffset(), 2, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetCursorOffset(100), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetCursorOffset(2), true, TEST_LOCATION ); + DALI_TEST_EQUALS( text->GetCursorOffset(), 2, TEST_LOCATION ); auto editabletext = dynamic_cast< Dali::Accessibility::EditableText* >( accessible ); DALI_TEST_CHECK( editabletext ); @@ -601,13 +692,65 @@ int UtcDaliAccessibilityTextEditor(void) DALI_TEST_EQUALS( editabletext->CutText( 1, 3 ), true, TEST_LOCATION ); DALI_TEST_EQUALS( text->GetText( 0, 1 ), "t", TEST_LOCATION ); - auto range = text->GetSelection( 1 ); + auto range = text->GetRangeOfSelection( 1 ); DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.content, "", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION ); DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION ); + DALI_TEST_EQUALS(editabletext->SetTextContents("adef"), true, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(1, "bc"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 6), "abcdef", TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->DeleteText(5, 1), false, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->DeleteText(1, 5), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 2), "af", TEST_LOCATION); + + auto hypertext = dynamic_cast< Dali::Accessibility::Hypertext* >( accessible ); + DALI_TEST_CHECK( hypertext ); + // text without the anchors markup and ENABLE_MARKUP property set (by default) to false + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set (by default) to false + texteditor.SetProperty( Toolkit::TextEditor::Property::TEXT, "12345anchor112345veryveryveryveryveryveryveryverylonganchor212345anchor312345" ); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set to true + texteditor.SetProperty( Toolkit::TextEditor::Property::ENABLE_MARKUP, true); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 3, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), 0, TEST_LOCATION ); //1st anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 17 ), 1, TEST_LOCATION ); //2nd anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 66 ), 2, TEST_LOCATION ); //3rd anchor index + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + auto hyperlink = hypertext->GetLink( 0 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 12, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorCount(), 1, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorUri( 0 ), "https://www.tizen.org", TEST_LOCATION ); + auto anchorAccessible = hyperlink->GetAnchorAccessible( 0 ); + DALI_TEST_EQUALS( hyperlink == anchorAccessible, true, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 1 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 17, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 60, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 2 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 65, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 72, TEST_LOCATION ); + Dali::Accessibility::TestEnableSC( false ); END_TEST; @@ -636,16 +779,61 @@ int UtcDaliAccessibilityTextLabel(void) DALI_TEST_CHECK( text ); DALI_TEST_EQUALS( text->GetText( 0, 10 ), "", TEST_LOCATION ); DALI_TEST_EQUALS( text->GetText( 0, 4 ), "test", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetCaretOffset(0), false, TEST_LOCATION ); - DALI_TEST_EQUALS( text->GetCaretOffset(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetCursorOffset(0), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->GetCursorOffset(), 0, TEST_LOCATION ); - auto range = text->GetSelection( 1 ); + auto range = text->GetRangeOfSelection( 1 ); DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION ); DALI_TEST_EQUALS( range.content, "", TEST_LOCATION ); - DALI_TEST_EQUALS( text->SetSelection( 1, 0, 1 ), false, TEST_LOCATION ); + DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION ); DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION ); + auto hypertext = dynamic_cast< Dali::Accessibility::Hypertext* >( accessible ); + DALI_TEST_CHECK( hypertext ); + // text without the anchors markup and ENABLE_MARKUP property set (by default) to false + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set (by default) to false + textlabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "12345anchor112345veryveryveryveryveryveryveryverylonganchor212345anchor312345" ); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 0, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 0 ) == nullptr, true, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLink( 5 ) == nullptr, true, TEST_LOCATION ); + // text with the anchors markup and ENABLE_MARKUP property set to true + textlabel.SetProperty( Toolkit::TextLabel::Property::ENABLE_MARKUP, true); + DALI_TEST_EQUALS( hypertext->GetLinkCount(), 3, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( -1 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 0 ), -1, TEST_LOCATION ); + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 5 ), 0, TEST_LOCATION ); //1st anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 17 ), 1, TEST_LOCATION ); //2nd anchor index + DALI_TEST_EQUALS( hypertext->GetLinkIndex( 66 ), 2, TEST_LOCATION ); //3rd anchor index + DALI_TEST_EQUALS( hypertext->GetLink( -1 ) == nullptr, true, TEST_LOCATION ); + auto hyperlink = hypertext->GetLink( 0 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 5, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 12, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorCount(), 1, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetAnchorUri( 0 ), "https://www.tizen.org", TEST_LOCATION ); + auto anchorAccessible = hyperlink->GetAnchorAccessible( 0 ); + DALI_TEST_EQUALS( hyperlink == anchorAccessible, true, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 1 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 17, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 60, TEST_LOCATION ); + hyperlink = hypertext->GetLink( 2 ); + DALI_TEST_CHECK ( hyperlink ); + DALI_TEST_EQUALS( hyperlink->GetStartIndex(), 65, TEST_LOCATION ); + DALI_TEST_EQUALS( hyperlink->GetEndIndex(), 72, TEST_LOCATION ); + Dali::Accessibility::TestEnableSC( false ); END_TEST;