|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 package org.mozilla.gecko.tests.helpers; |
|
6 |
|
7 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertEquals; |
|
8 import android.view.inputmethod.ExtractedText; |
|
9 import android.view.inputmethod.ExtractedTextRequest; |
|
10 import android.view.inputmethod.InputConnection; |
|
11 |
|
12 /** |
|
13 * Provides helper functions for accessing the InputConnection interface |
|
14 */ |
|
15 public final class TextInputHelper { |
|
16 |
|
17 private TextInputHelper() { /* To disallow instantiation. */ } |
|
18 |
|
19 private static ExtractedText getExtractedText(final InputConnection ic) { |
|
20 ExtractedTextRequest req = new ExtractedTextRequest(); |
|
21 ExtractedText extract = ic.getExtractedText(req, 0); |
|
22 return extract; |
|
23 } |
|
24 |
|
25 private static String getText(final InputConnection ic) { |
|
26 return getExtractedText(ic).text.toString(); |
|
27 } |
|
28 |
|
29 public static void assertText(final String message, |
|
30 final InputConnection ic, |
|
31 final String text) { |
|
32 fAssertEquals(message, text, getText(ic)); |
|
33 } |
|
34 |
|
35 public static void assertSelection(final String message, |
|
36 final InputConnection ic, |
|
37 final int start, |
|
38 final int end) { |
|
39 ExtractedText extract = getExtractedText(ic); |
|
40 fAssertEquals(message, start, extract.selectionStart); |
|
41 fAssertEquals(message, end, extract.selectionEnd); |
|
42 } |
|
43 |
|
44 public static void assertSelectionAt(final String message, |
|
45 final InputConnection ic, |
|
46 final int value) { |
|
47 assertSelection(message, ic, value, value); |
|
48 } |
|
49 |
|
50 public static void assertTextAndSelection(final String message, |
|
51 final InputConnection ic, |
|
52 final String text, |
|
53 final int start, |
|
54 final int end) { |
|
55 ExtractedText extract = getExtractedText(ic); |
|
56 fAssertEquals(message, text, extract.text); |
|
57 fAssertEquals(message, start, extract.selectionStart); |
|
58 fAssertEquals(message, end, extract.selectionEnd); |
|
59 } |
|
60 |
|
61 public static void assertTextAndSelectionAt(final String message, |
|
62 final InputConnection ic, |
|
63 final String text, |
|
64 final int selection) { |
|
65 assertTextAndSelection(message, ic, text, selection, selection); |
|
66 } |
|
67 } |