Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(840)

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java

Issue 2309983002: Allow selection change update before beginBatchEdit (Closed)
Patch Set: fixed a test failure Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 40fc9c5c7dc4cd2440b382fa74f858688ff1ab70..826d629f54cf8c56814afc81412cb953028728ef 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
@@ -1433,29 +1433,31 @@ public class ImeTest extends ContentShellTestBase {
}));
}
- // Tests that the method call order is kept.
- // See crbug.com/601707 for details.
+ // Tests that the method call order is kept and get updates correctly.
+ // crbug.com/601707, crbug.com/643473
@MediumTest
@Feature({"TextInput"})
@RetryOnFailure
- public void testSetSelectionCommitTextOrder() throws Exception {
+ public void testAsynchronousSequence() throws Exception {
final ChromiumBaseInputConnection connection = mConnection;
runBlockingOnImeThread(new Callable<Void>() {
@Override
public Void call() {
+ connection.commitText("hi ", 1);
connection.beginBatchEdit();
connection.commitText("hello world", 1);
- connection.setSelection(6, 6);
- connection.deleteSurroundingText(0, 5);
+ connection.setSelection(9, 9);
+ connection.deleteSurroundingText(3, 8);
connection.commitText("'", 1);
connection.commitText("world", 1);
- connection.setSelection(7, 7);
+ connection.setSelection(10, 10);
connection.setComposingText("", 1);
connection.endBatchEdit();
return null;
}
});
- waitAndVerifyUpdateSelection(0, 7, 7, -1, -1);
+ waitAndVerifyUpdateSelection(0, 3, 3, -1, -1);
+ waitAndVerifyUpdateSelection(1, 10, 10, -1, -1);
}
// crbug.com/643477
@@ -1467,11 +1469,14 @@ public class ImeTest extends ContentShellTestBase {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- // We allow UI thread access for most functions, except for
- // beginBatchEdit(), endBatchEdit(), and get* methods().
assertTrue(connection.commitText("a", 1));
+ assertTrue(connection.beginBatchEdit());
assertTrue(connection.setComposingText("b", 1));
+ // Note that the result of this function may not be up-to-date.
+ connection.getTextBeforeCursor(10, 0);
+
assertTrue(connection.setComposingText("bc", 1));
+ assertFalse(connection.endBatchEdit()); // returns false if no more batch edit.
assertTrue(connection.finishComposingText());
}
});

Powered by Google App Engine
This is Rietveld 408576698