diff options
author | 2012-06-08 19:44:38 +0900 | |
---|---|---|
committer | 2012-06-08 20:04:09 +0900 | |
commit | 02308bec632a5df23325c916bffec5def16b22b4 (patch) | |
tree | f1484c41e80772762e5cf019a207bc4c80c31bcb /tests/src | |
parent | 5475b38328171a0841ae18074bd45380ec567e90 (diff) | |
download | latinime-02308bec632a5df23325c916bffec5def16b22b4.tar.gz latinime-02308bec632a5df23325c916bffec5def16b22b4.tar.xz latinime-02308bec632a5df23325c916bffec5def16b22b4.zip |
Merge RichInputConnection with EditingUtils
Change-Id: I9982ff325bef56694402caef28a77683c52ccd71
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/RichInputConnectionTests.java (renamed from tests/src/com/android/inputmethod/latin/EditingUtilsTests.java) | 77 |
1 files changed, 47 insertions, 30 deletions
diff --git a/tests/src/com/android/inputmethod/latin/EditingUtilsTests.java b/tests/src/com/android/inputmethod/latin/RichInputConnectionTests.java index c73f8891f..9ce581df8 100644 --- a/tests/src/com/android/inputmethod/latin/EditingUtilsTests.java +++ b/tests/src/com/android/inputmethod/latin/RichInputConnectionTests.java @@ -22,9 +22,9 @@ import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputConnectionWrapper; -import com.android.inputmethod.latin.EditingUtils.Range; +import com.android.inputmethod.latin.RichInputConnection.Range; -public class EditingUtilsTests extends AndroidTestCase { +public class RichInputConnectionTests extends AndroidTestCase { // The following is meant to be a reasonable default for // the "word_separators" resource. @@ -64,12 +64,23 @@ public class EditingUtilsTests extends AndroidTestCase { } /* (non-Javadoc) - * @see android.view.inputmethod.InputConnectionWrapper#getExtractedText(ExtractedTextRequest, int) + * @see android.view.inputmethod.InputConnectionWrapper#getExtractedText( + * ExtractedTextRequest, int) */ @Override public ExtractedText getExtractedText(ExtractedTextRequest request, int flags) { return mExtractedText; } + + @Override + public boolean beginBatchEdit() { + return true; + } + + @Override + public boolean endBatchEdit() { + return true; + } } /************************** Tests ************************/ @@ -79,31 +90,31 @@ public class EditingUtilsTests extends AndroidTestCase { */ public void testGetPreviousWord() { // If one of the following cases breaks, the bigram suggestions won't work. - assertEquals(EditingUtils.getPreviousWord("abc def", sSeparators), "abc"); - assertNull(EditingUtils.getPreviousWord("abc", sSeparators)); - assertNull(EditingUtils.getPreviousWord("abc. def", sSeparators)); + assertEquals(RichInputConnection.getPreviousWord("abc def", sSeparators), "abc"); + assertNull(RichInputConnection.getPreviousWord("abc", sSeparators)); + assertNull(RichInputConnection.getPreviousWord("abc. def", sSeparators)); // The following tests reflect the current behavior of the function - // EditingUtils#getPreviousWord. + // RichInputConnection#getPreviousWord. // TODO: However at this time, the code does never go // into such a path, so it should be safe to change the behavior of // this function if needed - especially since it does not seem very // logical. These tests are just there to catch any unintentional - // changes in the behavior of the EditingUtils#getPreviousWord method. - assertEquals(EditingUtils.getPreviousWord("abc def ", sSeparators), "abc"); - assertEquals(EditingUtils.getPreviousWord("abc def.", sSeparators), "abc"); - assertEquals(EditingUtils.getPreviousWord("abc def .", sSeparators), "def"); - assertNull(EditingUtils.getPreviousWord("abc ", sSeparators)); + // changes in the behavior of the RichInputConnection#getPreviousWord method. + assertEquals(RichInputConnection.getPreviousWord("abc def ", sSeparators), "abc"); + assertEquals(RichInputConnection.getPreviousWord("abc def.", sSeparators), "abc"); + assertEquals(RichInputConnection.getPreviousWord("abc def .", sSeparators), "def"); + assertNull(RichInputConnection.getPreviousWord("abc ", sSeparators)); } /** * Test for getting the word before the cursor (for bigram) */ public void testGetThisWord() { - assertEquals(EditingUtils.getThisWord("abc def", sSeparators), "def"); - assertEquals(EditingUtils.getThisWord("abc def ", sSeparators), "def"); - assertNull(EditingUtils.getThisWord("abc def.", sSeparators)); - assertNull(EditingUtils.getThisWord("abc def .", sSeparators)); + assertEquals(RichInputConnection.getThisWord("abc def", sSeparators), "def"); + assertEquals(RichInputConnection.getThisWord("abc def ", sSeparators), "def"); + assertNull(RichInputConnection.getThisWord("abc def.", sSeparators)); + assertNull(RichInputConnection.getThisWord("abc def .", sSeparators)); } /** @@ -111,51 +122,57 @@ public class EditingUtilsTests extends AndroidTestCase { */ public void testGetWordRangeAtCursor() { ExtractedText et = new ExtractedText(); + final RichInputConnection ic = new RichInputConnection(); InputConnection mockConnection; mockConnection = new MockConnection("word wo", "rd", et); et.startOffset = 0; et.selectionStart = 7; Range r; + ic.beginBatchEdit(mockConnection); // basic case - r = EditingUtils.getWordRangeAtCursor(mockConnection, " ", 0); + r = ic.getWordRangeAtCursor(" ", 0); assertEquals("word", r.mWord); - r = null; // more than one word - r = EditingUtils.getWordRangeAtCursor(mockConnection, " ", 1); + r = ic.getWordRangeAtCursor(" ", 1); assertEquals("word word", r.mWord); - r = null; + ic.endBatchEdit(); // tab character instead of space mockConnection = new MockConnection("one\tword\two", "rd", et); - r = EditingUtils.getWordRangeAtCursor(mockConnection, "\t", 1); + ic.beginBatchEdit(mockConnection); + r = ic.getWordRangeAtCursor("\t", 1); + ic.endBatchEdit(); assertEquals("word\tword", r.mWord); - r = null; // only one word doesn't go too far mockConnection = new MockConnection("one\tword\two", "rd", et); - r = EditingUtils.getWordRangeAtCursor(mockConnection, "\t", 1); + ic.beginBatchEdit(mockConnection); + r = ic.getWordRangeAtCursor("\t", 1); + ic.endBatchEdit(); assertEquals("word\tword", r.mWord); - r = null; // tab or space mockConnection = new MockConnection("one word\two", "rd", et); - r = EditingUtils.getWordRangeAtCursor(mockConnection, " \t", 1); + ic.beginBatchEdit(mockConnection); + r = ic.getWordRangeAtCursor(" \t", 1); + ic.endBatchEdit(); assertEquals("word\tword", r.mWord); - r = null; // tab or space multiword mockConnection = new MockConnection("one word\two", "rd", et); - r = EditingUtils.getWordRangeAtCursor(mockConnection, " \t", 2); + ic.beginBatchEdit(mockConnection); + r = ic.getWordRangeAtCursor(" \t", 2); + ic.endBatchEdit(); assertEquals("one word\tword", r.mWord); - r = null; // splitting on supplementary character final String supplementaryChar = "\uD840\uDC8A"; mockConnection = new MockConnection("one word" + supplementaryChar + "wo", "rd", et); - r = EditingUtils.getWordRangeAtCursor(mockConnection, supplementaryChar, 0); + ic.beginBatchEdit(mockConnection); + r = ic.getWordRangeAtCursor(supplementaryChar, 0); + ic.endBatchEdit(); assertEquals("word", r.mWord); - r = null; } } |