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

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

Issue 1600253003: [try] Trigger compositionstart/end on commitText (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « no previous file | content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellTestBase.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4259e540ed8d1a01445dbe8cd7ba1d1a9f6c7d4b..65e8202f5847e975a8db38122d46e96688cbb061 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,11 +18,11 @@ import android.view.inputmethod.EditorInfo;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Feature;
-import org.chromium.base.test.util.UrlUtils;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
import org.chromium.content.browser.test.util.DOMUtils;
+import org.chromium.content.browser.test.util.JavaScriptUtils;
import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper.Range;
@@ -41,20 +41,6 @@ import java.util.concurrent.TimeoutException;
* Integration tests for text input using cases based on fixed regressions.
*/
public class ImeTest extends ContentShellTestBase {
- private static final String DATA_URL = UrlUtils.encodeHtmlDataUri(
- "<html><head><meta name=\"viewport\""
- + "content=\"width=device-width\" /></head>"
- + "<body><form action=\"about:blank\">"
- + "<input id=\"input_text\" type=\"text\" /><br/></form><form>"
- + "<br/><input id=\"input_radio\" type=\"radio\" style=\"width:50px;height:50px\" />"
- + "<br/><textarea id=\"textarea\" rows=\"4\" cols=\"20\"></textarea>"
- + "<br/><textarea id=\"textarea2\" rows=\"4\" cols=\"20\" autocomplete=\"off\">"
- + "</textarea>"
- + "<br/><input id=\"input_number1\" type=\"number\" /><br/>"
- + "<br/><input id=\"input_number2\" type=\"number\" /><br/>"
- + "<br/><p><span id=\"plain_text\">This is Plain Text One</span></p>"
- + "</form></body></html>");
-
private TestAdapterInputConnection mConnection;
private TestAdapterInputConnectionFactory mConnectionFactory;
private ImeAdapter mImeAdapter;
@@ -67,9 +53,8 @@ public class ImeTest extends ContentShellTestBase {
@Override
public void setUp() throws Exception {
super.setUp();
-
- launchContentShellWithUrl(DATA_URL);
- waitForActiveShellToBeDoneLoading();
+ startActivityWithTestUrl(
+ "content/test/data/android/ime/input_forms.html");
mContentViewCore = getContentViewCore();
mWebContents = getWebContents();
@@ -393,7 +378,13 @@ public class ImeTest extends ContentShellTestBase {
getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
- getActivity().getActiveShell().loadUrl(DATA_URL);
+ try {
+ startActivityWithTestUrl(
+ "content/test/data/android/ime/input_forms.html");
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ fail();
+ }
}
});
// Depending on the timing, hideSoftInput and restartInput call counts may vary here
@@ -1043,6 +1034,22 @@ public class ImeTest extends ContentShellTestBase {
waitAndVerifyStatesAndCalls(5, "abefcd", 1, 1, -1, -1);
}
+ @MediumTest
+ @Feature({"TextInput"})
+ public void testCommitTextTriggersCompositionEvents() throws Throwable {
+ focusElementAndWaitForStateUpdate("contenteditable0");
+ commitText("a", 1);
+ waitAndVerifyStatesAndCalls(0, "a", 1, 1, -1, -1);
+
+ final String code = "getLogs()";
+ final String expectedLogs = "keydown(229),"
+ + "compositionstart(),"
+ + "compositionend(a),"
+ + "keyup(229),";
+ assertEquals('"' + expectedLogs + '"', JavaScriptUtils.executeJavaScriptAndWaitForResult(
+ getContentViewCore().getWebContents(), code));
+ }
+
private CharSequence getTextBeforeCursor(final int length, final int flags)
throws ExecutionException {
return ThreadUtils.runOnUiThreadBlocking(new Callable<CharSequence>() {
« no previous file with comments | « no previous file | content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellTestBase.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698