Index: content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java |
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java |
index deb151ef26215d7e6d26242190e38b6cbe9194c0..9b0f0723a9330dc6c485a5a0eef4f0198c2d45fa 100644 |
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java |
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java |
@@ -8,6 +8,7 @@ import android.content.Context; |
import android.os.IBinder; |
import android.os.ResultReceiver; |
import android.test.suitebuilder.annotation.MediumTest; |
+import android.test.suitebuilder.annotation.SmallTest; |
import android.text.Editable; |
import android.text.Selection; |
import android.view.KeyEvent; |
@@ -45,6 +46,23 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { |
getContentViewCore().getContainerView(), mImeAdapter, mEditable, info); |
} |
+ @SmallTest |
+ @Feature({"TextInput", "Main"}) |
+ public void testAdjustLengthBeforeAndAfterSelection() throws Throwable { |
+ final String ga = "\uAC00"; |
+ final String smiley = "\uD83D\uDE0A"; // multi character codepoint |
+ |
+ // No need to adjust length. |
+ assertFalse(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair("a", 0)); |
+ assertFalse(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair(ga, 0)); |
+ assertFalse(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair("aa", 1)); |
+ assertFalse(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair("a" + smiley + "a", 1)); |
+ |
+ // Needs to adjust length. |
+ assertTrue(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair(smiley, 1)); |
+ assertTrue(AdapterInputConnection.isIndexBetweenUtf16SurrogatePair(smiley + "a", 1)); |
+ } |
+ |
@MediumTest |
@Feature({"TextInput", "Main"}) |
@RerunWithUpdatedContainerView |