| Index: content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
|
| diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
|
| index 16e0654d2ca36b7cc63625613fb2b435d6129267..674bf5850754dc08056dec03c32c9915f9457b31 100644
|
| --- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
|
| +++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
|
| @@ -13,12 +13,62 @@ import android.view.inputmethod.InputConnection;
|
| import org.chromium.content.browser.ContentViewCore;
|
| import org.chromium.content.browser.input.InputMethodManagerWrapper;
|
|
|
| +/**
|
| + * Overrides InputMethodManagerWrapper for testing purposes.
|
| + */
|
| public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
|
| + /**
|
| + * A simple class to set start and end in int type.
|
| + */
|
| + public static class Range {
|
| + private int mStart;
|
| + private int mEnd;
|
| +
|
| + public Range(int start, int end) {
|
| + mStart = start;
|
| + mEnd = end;
|
| + }
|
| +
|
| + public void set(int start, int end) {
|
| + mStart = start;
|
| + mEnd = end;
|
| + }
|
| +
|
| + public int start() {
|
| + return mStart;
|
| + }
|
| +
|
| + public int end() {
|
| + return mEnd;
|
| + }
|
| +
|
| + @Override
|
| + public boolean equals(Object o) {
|
| + if (!(o instanceof Range)) return false;
|
| + if (o == this) return true;
|
| + Range r = (Range) o;
|
| + return mStart == r.mStart && mEnd == r.mEnd;
|
| + }
|
| +
|
| + @Override
|
| + public int hashCode() {
|
| + final int prime = 31;
|
| + return prime * mStart + mEnd;
|
| + }
|
| +
|
| + @Override
|
| + public String toString() {
|
| + return "[ " + mStart + ", " + mEnd + " ]";
|
| + }
|
| + }
|
| +
|
| private final ContentViewCore mContentViewCore;
|
| private InputConnection mInputConnection;
|
| private int mShowSoftInputCounter = 0;
|
| private int mUpdateSelectionCounter = 0;
|
| private EditorInfo mEditorInfo;
|
| + private final Range mSelection = new Range(0, 0);
|
| + private final Range mComposition = new Range(-1, -1);
|
|
|
| public TestInputMethodManagerWrapper(ContentViewCore contentViewCore) {
|
| super(null);
|
| @@ -57,6 +107,8 @@ public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
|
| public void updateSelection(View view, int selStart, int selEnd,
|
| int candidatesStart, int candidatesEnd) {
|
| mUpdateSelectionCounter++;
|
| + mSelection.set(selStart, selEnd);
|
| + mComposition.set(candidatesStart, candidatesEnd);
|
| }
|
|
|
| public int getShowSoftInputCounter() {
|
| @@ -70,5 +122,12 @@ public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
|
| public EditorInfo getEditorInfo() {
|
| return mEditorInfo;
|
| }
|
| -}
|
|
|
| + public Range getSelection() {
|
| + return mSelection;
|
| + }
|
| +
|
| + public Range getComposition() {
|
| + return mComposition;
|
| + }
|
| +}
|
|
|