Index: content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
index 626f45de776e9ecc14813e9b56daeac7c02c310d..4ad85137cc08948314a51fe68f44ad128a5d9c1a 100644 |
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
@@ -18,7 +18,6 @@ import android.view.View; |
import android.view.inputmethod.EditorInfo; |
import org.chromium.base.ThreadUtils; |
-import org.chromium.base.test.util.DisabledTest; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.UrlUtils; |
import org.chromium.content.browser.ContentViewCore; |
@@ -392,130 +391,66 @@ public class ImeTest extends ContentShellTestBase { |
waitAndVerifyStatesAndCalls(6, "h\nllo ", 2, 2, -1, -1); |
} |
- private int getTypedKeycodeGuess(String before, String after) { |
- KeyEvent ev = ImeAdapter.getTypedKeyEventGuess(before, after); |
- if (ev == null) return -1; |
- return ev.getKeyCode(); |
- } |
- |
- @SmallTest |
- @Feature({"TextInput", "Main"}) |
- public void testGuessedKeyCodeFromTyping() throws Throwable { |
- assertEquals(-1, getTypedKeycodeGuess(null, "")); |
- assertEquals(KeyEvent.KEYCODE_X, getTypedKeycodeGuess(null, "x")); |
- assertEquals(-1, getTypedKeycodeGuess(null, "xyz")); |
- |
- assertEquals(-1, getTypedKeycodeGuess("abc", "abc")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("abc", "")); |
- |
- assertEquals(KeyEvent.KEYCODE_H, getTypedKeycodeGuess("", "h")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("h", "")); |
- assertEquals(KeyEvent.KEYCODE_E, getTypedKeycodeGuess("h", "he")); |
- assertEquals(KeyEvent.KEYCODE_L, getTypedKeycodeGuess("he", "hel")); |
- assertEquals(KeyEvent.KEYCODE_O, getTypedKeycodeGuess("hel", "helo")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("helo", "hel")); |
- assertEquals(KeyEvent.KEYCODE_L, getTypedKeycodeGuess("hel", "hell")); |
- assertEquals(KeyEvent.KEYCODE_L, getTypedKeycodeGuess("hell", "helll")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("helll", "hell")); |
- assertEquals(KeyEvent.KEYCODE_O, getTypedKeycodeGuess("hell", "hello")); |
- |
- assertEquals(KeyEvent.KEYCODE_X, getTypedKeycodeGuess("xxx", "xxxx")); |
- assertEquals(KeyEvent.KEYCODE_X, getTypedKeycodeGuess("xxx", "xxxxx")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("xxx", "xx")); |
- assertEquals(KeyEvent.KEYCODE_DEL, getTypedKeycodeGuess("xxx", "x")); |
- |
- assertEquals(KeyEvent.KEYCODE_Y, getTypedKeycodeGuess("xxx", "xxxy")); |
- assertEquals(KeyEvent.KEYCODE_Y, getTypedKeycodeGuess("xxx", "xxxxy")); |
- assertEquals(-1, getTypedKeycodeGuess("xxx", "xy")); |
- assertEquals(-1, getTypedKeycodeGuess("xxx", "y")); |
- |
- assertEquals(-1, getTypedKeycodeGuess("foo", "bar")); |
- assertEquals(-1, getTypedKeycodeGuess("foo", "bars")); |
- assertEquals(-1, getTypedKeycodeGuess("foo", "ba")); |
- |
- // Some characters also require modifiers so we have to check the full event. |
- KeyEvent ev = ImeAdapter.getTypedKeyEventGuess(null, "!"); |
- assertEquals(KeyEvent.KEYCODE_1, ev.getKeyCode()); |
- assertTrue(ev.isShiftPressed()); |
- } |
- |
/* |
@SmallTest |
@Feature({"TextInput", "Main"}) |
http://crbug.com/445499 |
*/ |
- @DisabledTest |
- public void testKeyCodesWhileComposingText() throws Throwable { |
+ public void testDeleteText() throws Throwable { |
focusElement("textarea"); |
- // The calls below are a reflection of what the stock Google Keyboard (Android 4.4) sends |
- // when the noted key is touched on screen. Exercise care when altering to make sure |
- // that the test reflects reality. If this test breaks, it's possible that code has |
- // changed and different calls need to be made instead. |
+ // The calls below are a reflection of what the stock Google Keyboard (Andr |
+ // when the noted key is touched on screen. |
// H |
expectUpdateStateCall(); |
setComposingText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode); |
assertUpdateStateCall(1000); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
// O |
expectUpdateStateCall(); |
setComposingText("ho", 1); |
- assertEquals(KeyEvent.KEYCODE_O, mImeAdapter.mLastSyntheticKeyCode); |
assertUpdateStateCall(1000); |
assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
- // DEL |
expectUpdateStateCall(); |
setComposingText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
assertUpdateStateCall(1000); |
- setComposingRegion(0, 1); // DEL calls cancelComposition() then restarts |
+ setComposingRegion(0, 1); |
setComposingText("h", 1); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
// I |
setComposingText("hi", 1); |
- assertEquals(KeyEvent.KEYCODE_I, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
// SPACE |
commitText("hi", 1); |
- assertEquals(-1, mImeAdapter.mLastSyntheticKeyCode); |
commitText(" ", 1); |
- assertEquals(KeyEvent.KEYCODE_SPACE, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("hi ", mConnection.getTextBeforeCursor(9, 0)); |
// DEL |
deleteSurroundingText(1, 0); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
setComposingRegion(0, 2); |
assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
- // DEL |
setComposingText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- // DEL |
commitText("", 1); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("", mConnection.getTextBeforeCursor(9, 0)); |
// DEL (on empty input) |
deleteSurroundingText(1, 0); // DEL on empty still sends 1,0 |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("", mConnection.getTextBeforeCursor(9, 0)); |
} |
+ |
/* |
@SmallTest |
@Feature({"TextInput", "Main"}) |
- http://crbug.com/445499 |
*/ |
- @DisabledTest |
- public void testKeyCodesWhileSwipingText() throws Throwable { |
+ public void testSwipingText() throws Throwable { |
focusElement("textarea"); |
// The calls below are a reflection of what the stock Google Keyboard (Android 4.4) sends |
@@ -525,16 +460,14 @@ public class ImeTest extends ContentShellTestBase { |
// "three" |
expectUpdateStateCall(); |
setComposingText("three", 1); |
- assertEquals(KeyEvent.KEYCODE_UNKNOWN, mImeAdapter.mLastSyntheticKeyCode); |
assertUpdateStateCall(1000); |
assertEquals("three", mConnection.getTextBeforeCursor(99, 0)); |
// "word" |
commitText("three", 1); |
commitText(" ", 1); |
- expectUpdateStateCall(); |
setComposingText("word", 1); |
- assertEquals(KeyEvent.KEYCODE_UNKNOWN, mImeAdapter.mLastSyntheticKeyCode); |
+ expectUpdateStateCall(); |
assertUpdateStateCall(1000); |
assertEquals("three word", mConnection.getTextBeforeCursor(99, 0)); |
@@ -543,7 +476,6 @@ public class ImeTest extends ContentShellTestBase { |
commitText(" ", 1); |
expectUpdateStateCall(); |
setComposingText("test", 1); |
- assertEquals(KeyEvent.KEYCODE_UNKNOWN, mImeAdapter.mLastSyntheticKeyCode); |
assertUpdateStateCall(1000); |
assertEquals("three word test", mConnection.getTextBeforeCursor(99, 0)); |
} |
@@ -578,7 +510,6 @@ public class ImeTest extends ContentShellTestBase { |
// H |
expectUpdateStateCall(); |
commitText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
assertUpdateStateCall(1000); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
@@ -586,7 +517,6 @@ public class ImeTest extends ContentShellTestBase { |
// O |
expectUpdateStateCall(); |
commitText("o", 1); |
- assertEquals(KeyEvent.KEYCODE_O, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
assertUpdateStateCall(1000); |
assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
@@ -610,7 +540,6 @@ public class ImeTest extends ContentShellTestBase { |
// H |
expectUpdateStateCall(); |
commitText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
assertUpdateStateCall(1000); |
assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
@@ -618,7 +547,6 @@ public class ImeTest extends ContentShellTestBase { |
// O |
expectUpdateStateCall(); |
commitText("o", 1); |
- assertEquals(KeyEvent.KEYCODE_O, mImeAdapter.mLastSyntheticKeyCode); |
assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
assertUpdateStateCall(1000); |
assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
@@ -638,84 +566,6 @@ public class ImeTest extends ContentShellTestBase { |
@SmallTest |
@Feature({"TextInput", "Main"}) |
- public void testKeyCodesWhileTypingText() throws Throwable { |
- focusElement("textarea"); |
- |
- // The calls below are a reflection of what the Hacker's Keyboard sends when the noted |
- // key is touched on screen. Exercise care when altering to make sure that the test |
- // reflects reality. |
- // H |
- expectUpdateStateCall(); |
- commitText("h", 1); |
- assertEquals(KeyEvent.KEYCODE_H, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // O |
- expectUpdateStateCall(); |
- commitText("o", 1); |
- assertEquals(KeyEvent.KEYCODE_O, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("ho", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // DEL |
- expectUpdateStateCall(); |
- deleteSurroundingText(1, 0); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // I |
- expectUpdateStateCall(); |
- commitText("i", 1); |
- assertEquals(KeyEvent.KEYCODE_I, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // SPACE |
- expectUpdateStateCall(); |
- commitText(" ", 1); |
- assertEquals(KeyEvent.KEYCODE_SPACE, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("hi ", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("hi ", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // DEL |
- expectUpdateStateCall(); |
- deleteSurroundingText(1, 0); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("hi", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // DEL |
- expectUpdateStateCall(); |
- deleteSurroundingText(1, 0); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("h", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // DEL |
- expectUpdateStateCall(); |
- deleteSurroundingText(1, 0); |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("", mConnection.getTextBeforeCursor(9, 0)); |
- assertUpdateStateCall(1000); |
- assertEquals("", mConnection.getTextBeforeCursor(9, 0)); |
- |
- // DEL (on empty input) |
- deleteSurroundingText(1, 0); // DEL on empty still sends 1,0 |
- assertEquals(KeyEvent.KEYCODE_DEL, mImeAdapter.mLastSyntheticKeyCode); |
- assertEquals("", mConnection.getTextBeforeCursor(9, 0)); |
- } |
- |
- @SmallTest |
- @Feature({"TextInput", "Main"}) |
public void testPhysicalKeyboard() throws Throwable { |
focusElement("textarea"); |
// Type 'a' using a physical keyboard. |
@@ -874,47 +724,6 @@ public class ImeTest extends ContentShellTestBase { |
} |
@SmallTest |
- @Feature({"TextInput", "Main"}) |
- public void testTransitionsWhileComposingText() throws Throwable { |
- focusElement("textarea"); // Default with autocomplete="on" |
- |
- // H |
- // Since autocomplete="on" by default, COMPOSITION_KEY_CODE is emitted as key code |
- expectUpdateStateCall(); |
- setComposingText("h", 1); |
- assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode); |
- |
- // Simulate switch of input fields. |
- finishComposingText(); |
- |
- // H |
- expectUpdateStateCall(); |
- setComposingText("h", 1); |
- assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode); |
- } |
- |
- @SmallTest |
- @Feature({"TextInput", "Main"}) |
- public void testTransitionsWhileEmittingKeyCode() throws Throwable { |
- focusElement("textarea2"); // Default with autocomplete="off" |
- |
- // H |
- // Although autocomplete="off", we still emit COMPOSITION_KEY_CODE since synthesized |
- // keycodes are disabled. |
- expectUpdateStateCall(); |
- setComposingText("h", 1); |
- assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode); |
- |
- // Simulate switch of input fields. |
- finishComposingText(); |
- |
- // H |
- expectUpdateStateCall(); |
- setComposingText("h", 1); |
- assertEquals(COMPOSITION_KEY_CODE, mImeAdapter.mLastSyntheticKeyCode); |
- } |
- |
- @SmallTest |
@Feature({"TextInput"}) |
public void testPastePopupShowAndHide() throws Throwable { |
commitText("hello", 1); |