parent
d5455fea4a
commit
d17e1d31b6
|
@ -674,10 +674,15 @@ public class InputLogicTests extends InputTestsBase {
|
||||||
mEditText.getText().toString());
|
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 END_OF_WORD = startPos + word.length();
|
||||||
final int NEW_CURSOR_POSITION = startPos + word.length() / 2;
|
final int NEW_CURSOR_POSITION = startPos + word.length() / 2;
|
||||||
|
if (gesture) {
|
||||||
|
gesture(word);
|
||||||
|
} else {
|
||||||
type(word);
|
type(word);
|
||||||
|
}
|
||||||
sendUpdateForCursorMoveTo(END_OF_WORD);
|
sendUpdateForCursorMoveTo(END_OF_WORD);
|
||||||
runMessages();
|
runMessages();
|
||||||
sendUpdateForCursorMoveTo(NEW_CURSOR_POSITION);
|
sendUpdateForCursorMoveTo(NEW_CURSOR_POSITION);
|
||||||
|
@ -687,6 +692,14 @@ public class InputLogicTests extends InputTestsBase {
|
||||||
startPos, END_OF_WORD);
|
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) {
|
private void ensureComposingSpanPos(final String message, final int from, final int to) {
|
||||||
assertEquals(message, from, BaseInputConnection.getComposingSpanStart(mEditText.getText()));
|
assertEquals(message, from, BaseInputConnection.getComposingSpanStart(mEditText.getText()));
|
||||||
assertEquals(message, to, BaseInputConnection.getComposingSpanEnd(mEditText.getText()));
|
assertEquals(message, to, BaseInputConnection.getComposingSpanEnd(mEditText.getText()));
|
||||||
|
@ -703,6 +716,23 @@ public class InputLogicTests extends InputTestsBase {
|
||||||
int cursorPos = sendUpdateForCursorMoveToEndOfLine();
|
int cursorPos = sendUpdateForCursorMoveToEndOfLine();
|
||||||
runMessages();
|
runMessages();
|
||||||
type(" ");
|
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 */);
|
typeWordAndPutCursorInside(WORD_TO_TYPE, cursorPos + 1 /* startPos */);
|
||||||
type(Constants.CODE_DELETE);
|
type(Constants.CODE_DELETE);
|
||||||
ensureComposingSpanPos("space while in the middle of a word cancels composition", -1, -1);
|
ensureComposingSpanPos("space while in the middle of a word cancels composition", -1, -1);
|
||||||
|
|
Loading…
Reference in New Issue