Merge "Add some gesture-move tests"

This commit is contained in:
Jean Chalard 2014-10-28 06:22:17 +00:00 committed by Android (Google) Code Review
commit 450c8e8935

View File

@ -674,10 +674,15 @@ public class InputLogicTests extends InputTestsBase {
mEditText.getText().toString());
}
private void typeWordAndPutCursorInside(final String word, final int startPos) {
private void typeOrGestureWordAndPutCursorInside(final boolean gesture, final String word,
final int startPos) {
final int END_OF_WORD = startPos + word.length();
final int NEW_CURSOR_POSITION = startPos + word.length() / 2;
type(word);
if (gesture) {
gesture(word);
} else {
type(word);
}
sendUpdateForCursorMoveTo(END_OF_WORD);
runMessages();
sendUpdateForCursorMoveTo(NEW_CURSOR_POSITION);
@ -687,6 +692,14 @@ public class InputLogicTests extends InputTestsBase {
startPos, END_OF_WORD);
}
private void typeWordAndPutCursorInside(final String word, final int startPos) {
typeOrGestureWordAndPutCursorInside(false /* gesture */, word, startPos);
}
private void gestureWordAndPutCursorInside(final String word, final int startPos) {
typeOrGestureWordAndPutCursorInside(true /* gesture */, word, startPos);
}
private void ensureComposingSpanPos(final String message, final int from, final int to) {
assertEquals(message, from, BaseInputConnection.getComposingSpanStart(mEditText.getText()));
assertEquals(message, to, BaseInputConnection.getComposingSpanEnd(mEditText.getText()));
@ -703,6 +716,23 @@ public class InputLogicTests extends InputTestsBase {
int cursorPos = sendUpdateForCursorMoveToEndOfLine();
runMessages();
type(" ");
assertEquals("mbo", "some thing ", mEditText.getText().toString());
typeWordAndPutCursorInside(WORD_TO_TYPE, cursorPos + 1 /* startPos */);
type(Constants.CODE_DELETE);
ensureComposingSpanPos("space while in the middle of a word cancels composition", -1, -1);
}
public void testTypeWithinGestureComposing() {
final String WORD_TO_TYPE = "something";
final String EXPECTED_RESULT = "some thing";
gestureWordAndPutCursorInside(WORD_TO_TYPE, 0 /* startPos */);
type(" ");
ensureComposingSpanPos("space while in the middle of a word cancels composition", -1, -1);
assertEquals("space in the middle of a composing word", EXPECTED_RESULT,
mEditText.getText().toString());
int cursorPos = sendUpdateForCursorMoveToEndOfLine();
runMessages();
type(" ");
typeWordAndPutCursorInside(WORD_TO_TYPE, cursorPos + 1 /* startPos */);
type(Constants.CODE_DELETE);
ensureComposingSpanPos("space while in the middle of a word cancels composition", -1, -1);