gecko/mobile/android/base/tests/helpers/TextInputHelper.java
2014-04-01 22:00:47 -07:00

68 lines
2.8 KiB
Java

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.tests.helpers;
import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertEquals;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
/**
* Provides helper functions for accessing the InputConnection interface
*/
public final class TextInputHelper {
private TextInputHelper() { /* To disallow instantiation. */ }
private static ExtractedText getExtractedText(final InputConnection ic) {
ExtractedTextRequest req = new ExtractedTextRequest();
ExtractedText extract = ic.getExtractedText(req, 0);
return extract;
}
private static String getText(final InputConnection ic) {
return getExtractedText(ic).text.toString();
}
public static void assertText(final String message,
final InputConnection ic,
final String text) {
fAssertEquals(message, text, getText(ic));
}
public static void assertSelection(final String message,
final InputConnection ic,
final int start,
final int end) {
ExtractedText extract = getExtractedText(ic);
fAssertEquals(message, start, extract.selectionStart);
fAssertEquals(message, end, extract.selectionEnd);
}
public static void assertSelectionAt(final String message,
final InputConnection ic,
final int value) {
assertSelection(message, ic, value, value);
}
public static void assertTextAndSelection(final String message,
final InputConnection ic,
final String text,
final int start,
final int end) {
ExtractedText extract = getExtractedText(ic);
fAssertEquals(message, text, extract.text);
fAssertEquals(message, start, extract.selectionStart);
fAssertEquals(message, end, extract.selectionEnd);
}
public static void assertTextAndSelectionAt(final String message,
final InputConnection ic,
final String text,
final int selection) {
assertTextAndSelection(message, ic, text, selection, selection);
}
}