From: Lukasz Oleksak Date: Mon, 13 Jun 2022 06:31:58 +0000 (+0000) Subject: Merge "[AT-SPI] Fix EditableTextControlAccessible::InsertText()" into devel/master X-Git-Tag: dali_2.1.27~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=78229405f7be688c89afc2eb7bd754e50311546c;hp=fc617989746427265453090807724365f59e843a Merge "[AT-SPI] Fix EditableTextControlAccessible::InsertText()" into devel/master --- 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 df21268..29aa513 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 @@ -598,6 +598,16 @@ int UtcDaliAccessibilityTextField(void) DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION ); DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION ); + // Insert into empty field + DALI_TEST_EQUALS(editabletext->SetTextContents(""), true, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(1, "xyz"), false, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(0, "abc"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 3), "abc", TEST_LOCATION); + + // Append at end + DALI_TEST_EQUALS(editabletext->InsertText(3, "xyz"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 6), "abcxyz", 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); @@ -699,6 +709,16 @@ int UtcDaliAccessibilityTextEditor(void) DALI_TEST_EQUALS( text->SetRangeOfSelection( 1, 0, 1 ), false, TEST_LOCATION ); DALI_TEST_EQUALS( text->RemoveSelection( 1 ), false, TEST_LOCATION ); + // Insert into empty field + DALI_TEST_EQUALS(editabletext->SetTextContents(""), true, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(1, "xyz"), false, TEST_LOCATION); + DALI_TEST_EQUALS(editabletext->InsertText(0, "abc"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 3), "abc", TEST_LOCATION); + + // Append at end + DALI_TEST_EQUALS(editabletext->InsertText(3, "xyz"), true, TEST_LOCATION); + DALI_TEST_EQUALS(text->GetText(0, 6), "abcxyz", 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); diff --git a/dali-toolkit/internal/controls/text-controls/common-text-utils.cpp b/dali-toolkit/internal/controls/text-controls/common-text-utils.cpp index c1f4179..646bdbf 100644 --- a/dali-toolkit/internal/controls/text-controls/common-text-utils.cpp +++ b/dali-toolkit/internal/controls/text-controls/common-text-utils.cpp @@ -488,7 +488,7 @@ bool EditableTextControlAccessible::InsertText(std::size_t startPosition, std::s { auto text = GetWholeText(); - if(!ValidateRange(text, startPosition, startPosition + 1)) + if(!ValidateRange(text, startPosition, startPosition + 1) && !(startPosition == text.size())) { return false; }