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

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

Issue 2487893003: Trybot test for deleting ReplicaInputConnection (Closed)
Patch Set: test Created 4 years, 1 month 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 | « content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java ('k') | no next file » | 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/ReplicaInputConnectionTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ReplicaInputConnectionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ReplicaInputConnectionTest.java
deleted file mode 100644
index ff87ff3f2b166af086670176ac0b224fad400d25..0000000000000000000000000000000000000000
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ReplicaInputConnectionTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser.input;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Looper;
-import android.os.ResultReceiver;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.Editable;
-import android.view.View;
-import android.view.inputmethod.EditorInfo;
-
-import org.chromium.base.test.util.Feature;
-import org.chromium.content.browser.input.ReplicaInputConnection.ImeState;
-import org.chromium.content_shell_apk.ContentShellTestBase;
-import org.chromium.ui.base.ime.TextInputType;
-
-import java.util.ArrayList;
-
-/**
- * Tests AdapterInputConnection class and its callbacks to ImeAdapter.
- */
-public class ReplicaInputConnectionTest extends ContentShellTestBase {
- private ReplicaInputConnection mConnection;
- private TestInputMethodManagerWrapper mWrapper;
- private TestImeAdapter mImeAdapter;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- launchContentShellWithUrl("about:blank");
- waitForActiveShellToBeDoneLoading();
- mWrapper = new TestInputMethodManagerWrapper(getActivity());
- TestImeAdapterDelegate imeAdapterDelegate =
- new TestImeAdapterDelegate(getContentViewCore().getContainerView());
- mImeAdapter = new TestImeAdapter(mWrapper, imeAdapterDelegate);
- Editable editable = Editable.Factory.getInstance().newEditable("");
- Handler handler = new Handler(Looper.getMainLooper());
-
- mConnection = new ReplicaInputConnection(getContentViewCore().getContainerView(),
- mImeAdapter, handler, editable, TextInputType.TEXT, 0, new EditorInfo());
- }
-
- @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(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair("a", 0));
- assertFalse(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair(ga, 0));
- assertFalse(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair("aa", 1));
- assertFalse(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair("a" + smiley + "a", 1));
-
- // Needs to adjust length.
- assertTrue(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair(smiley, 1));
- assertTrue(ReplicaInputConnection.isIndexBetweenUtf16SurrogatePair(smiley + "a", 1));
- }
-
- @MediumTest
- @Feature({"TextInput", "Main"})
- public void testSetComposingText() throws Throwable {
- assertEquals(0, mWrapper.getUpdateSelectionCallCount());
-
- mConnection.setComposingText("t", 1);
- assertCorrectState("t", 1, 1, 0, 1, mConnection.getImeStateForTesting());
- mWrapper.verifyUpdateSelectionCall(0, 1, 1, 0, 1);
- // BaseInputConnection calls updateSelection() one more time because getEditable() does
- // not return a correct value here.
- mWrapper.verifyUpdateSelectionCall(1, 1, 1, 0, 1);
- assertEquals(2, mWrapper.getUpdateSelectionCallCount());
-
- mConnection.setComposingText("te", 1);
- assertCorrectState("te", 2, 2, 0, 2, mConnection.getImeStateForTesting());
- mWrapper.verifyUpdateSelectionCall(2, 2, 2, 0, 2);
- mWrapper.verifyUpdateSelectionCall(3, 2, 2, 0, 2);
-
- mConnection.setComposingText("tes", 1);
- assertCorrectState("tes", 3, 3, 0, 3, mConnection.getImeStateForTesting());
- mWrapper.verifyUpdateSelectionCall(4, 3, 3, 0, 3);
- mWrapper.verifyUpdateSelectionCall(5, 3, 3, 0, 3);
-
- mConnection.setComposingText("test", 1);
- assertCorrectState("test", 4, 4, 0, 4, mConnection.getImeStateForTesting());
- mWrapper.verifyUpdateSelectionCall(6, 4, 4, 0, 4);
- mWrapper.verifyUpdateSelectionCall(7, 4, 4, 0, 4);
- }
-
- @MediumTest
- @Feature({"TextInput", "Main"})
- public void testSelectionUpdatesDuringBatch() throws Throwable {
- mConnection.beginBatchEdit();
- mConnection.setComposingText("t", 1);
- assertEquals(0, mWrapper.getUpdateSelectionCallCount());
- mConnection.setComposingText("te", 1);
- assertEquals(0, mWrapper.getUpdateSelectionCallCount());
- mConnection.beginBatchEdit();
- mConnection.setComposingText("tes", 1);
- assertEquals(0, mWrapper.getUpdateSelectionCallCount());
- mConnection.endBatchEdit();
- mConnection.setComposingText("test", 1);
- assertEquals(0, mWrapper.getUpdateSelectionCallCount());
- mConnection.endBatchEdit();
- assertEquals(1, mWrapper.getUpdateSelectionCallCount());
- mWrapper.verifyUpdateSelectionCall(0, 4, 4, 0, 4);
- }
-
- private static class TestImeAdapter extends ImeAdapter {
- private final ArrayList<Integer> mKeyEventQueue = new ArrayList<Integer>();
-
- public TestImeAdapter(InputMethodManagerWrapper wrapper, ImeAdapterDelegate embedder) {
- super(wrapper, embedder);
- }
-
- @Override
- public void sendSyntheticKeyPress(int keyCode, int flags) {
- mKeyEventQueue.add(keyCode);
- }
- }
-
- private static class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
- private final ArrayList<ImeState> mUpdates = new ArrayList<ImeState>();
-
- public TestInputMethodManagerWrapper(Context context) {
- super(context);
- }
-
- @Override
- public void restartInput(View view) {}
-
- @Override
- public void showSoftInput(View view, int flags, ResultReceiver resultReceiver) {}
-
- @Override
- public boolean isActive(View view) {
- return true;
- }
-
- @Override
- public boolean hideSoftInputFromWindow(
- IBinder windowToken, int flags, ResultReceiver resultReceiver) {
- return true;
- }
-
- @Override
- public void updateSelection(
- View view, int selStart, int selEnd, int candidatesStart, int candidatesEnd) {
- mUpdates.add(new ImeState("", selStart, selEnd, candidatesStart, candidatesEnd));
- }
-
- public int getUpdateSelectionCallCount() {
- return mUpdates.size();
- }
-
- public void verifyUpdateSelectionCall(int index, int selectionStart, int selectionEnd,
- int compositionStart, int compositionEnd) {
- ImeState state = mUpdates.get(index);
- assertEquals("Selection start did not match", selectionStart, state.selectionStart);
- assertEquals("Selection end did not match", selectionEnd, state.selectionEnd);
- assertEquals(
- "Composition start did not match", compositionStart, state.compositionStart);
- assertEquals("Composition end did not match", compositionEnd, state.compositionEnd);
- }
- }
-
- private static void assertCorrectState(String text, int selectionStart, int selectionEnd,
- int compositionStart, int compositionEnd, ImeState actual) {
- assertEquals("Text did not match", text, actual.text);
- assertEquals("Selection start did not match", selectionStart, actual.selectionStart);
- assertEquals("Selection end did not match", selectionEnd, actual.selectionEnd);
- assertEquals("Composition start did not match", compositionStart, actual.compositionStart);
- assertEquals("Composition end did not match", compositionEnd, actual.compositionEnd);
- }
-}
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698