Loading tests/src/com/android/inputmethod/latin/InputLogicTests.java +32 −2 Original line number Diff line number Diff line Loading @@ -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; if (gesture) { gesture(word); } else { type(word); } sendUpdateForCursorMoveTo(END_OF_WORD); runMessages(); sendUpdateForCursorMoveTo(NEW_CURSOR_POSITION); Loading @@ -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())); Loading @@ -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); Loading Loading
tests/src/com/android/inputmethod/latin/InputLogicTests.java +32 −2 Original line number Diff line number Diff line Loading @@ -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; if (gesture) { gesture(word); } else { type(word); } sendUpdateForCursorMoveTo(END_OF_WORD); runMessages(); sendUpdateForCursorMoveTo(NEW_CURSOR_POSITION); Loading @@ -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())); Loading @@ -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); Loading