aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-12-16 21:41:03 +0900
committerJean Chalard <jchalard@google.com>2013-12-16 23:16:02 +0900
commit7cd7cf73f4ce6f0e577d6382eb0fc25f60dc63e1 (patch)
tree078bbfdfdd341a484777ef6dc9f9e97e16eaa002 /tests/src
parentb767715651a914ba2d89142d13e23eaf081d5b13 (diff)
downloadlatinime-7cd7cf73f4ce6f0e577d6382eb0fc25f60dc63e1.tar.gz
latinime-7cd7cf73f4ce6f0e577d6382eb0fc25f60dc63e1.tar.xz
latinime-7cd7cf73f4ce6f0e577d6382eb0fc25f60dc63e1.zip
Fix a bug with languages without spaces and predictions
This is simpler and more correct. Change-Id: I41806d2fc12b4ca25f76e32972b38f91f3d05c2b
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/inputmethod/latin/WordComposerTests.java16
-rw-r--r--tests/src/com/android/inputmethod/latin/utils/StringAndJsonUtilsTests.java14
2 files changed, 22 insertions, 8 deletions
diff --git a/tests/src/com/android/inputmethod/latin/WordComposerTests.java b/tests/src/com/android/inputmethod/latin/WordComposerTests.java
index a67f6a4ac..1336c6d1a 100644
--- a/tests/src/com/android/inputmethod/latin/WordComposerTests.java
+++ b/tests/src/com/android/inputmethod/latin/WordComposerTests.java
@@ -51,14 +51,14 @@ public class WordComposerTests extends AndroidTestCase {
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(1));
assertFalse(wc.isCursorFrontOrMiddleOfComposingWord());
// Check the previous word is still there
- assertEquals(PREVWORD, wc.getPreviousWord());
+ assertEquals(PREVWORD, wc.getPreviousWordForSuggestion());
// Move the cursor past the end of the word
assertFalse(wc.moveCursorByAndReturnIfInsideComposingWord(1));
assertFalse(wc.moveCursorByAndReturnIfInsideComposingWord(15));
// Do what LatinIME does when the cursor is moved outside of the word,
// and check the behavior is correct.
wc.reset();
- assertNull(wc.getPreviousWord());
+ assertNull(wc.getPreviousWordForSuggestion());
// \uD861\uDED7 is 𨛗, a character outside the BMP
final String STR_WITH_SUPPLEMENTARY_CHAR = "abcde\uD861\uDED7fgh";
@@ -73,35 +73,35 @@ public class WordComposerTests extends AndroidTestCase {
assertTrue(wc.isCursorFrontOrMiddleOfComposingWord());
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(1));
assertFalse(wc.isCursorFrontOrMiddleOfComposingWord());
- assertNull(wc.getPreviousWord());
+ assertNull(wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, STR_WITHIN_BMP, null /* keyboard */);
wc.setCursorPositionWithinWord(3);
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(7));
- assertEquals(STR_WITHIN_BMP, wc.getPreviousWord());
+ assertEquals(STR_WITHIN_BMP, wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, STR_WITH_SUPPLEMENTARY_CHAR,
null /* keyboard */);
wc.setCursorPositionWithinWord(3);
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(7));
- assertEquals(STR_WITH_SUPPLEMENTARY_CHAR, wc.getPreviousWord());
+ assertEquals(STR_WITH_SUPPLEMENTARY_CHAR, wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, STR_WITHIN_BMP, null /* keyboard */);
wc.setCursorPositionWithinWord(3);
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(-3));
assertFalse(wc.moveCursorByAndReturnIfInsideComposingWord(-1));
- assertEquals(STR_WITHIN_BMP, wc.getPreviousWord());
+ assertEquals(STR_WITHIN_BMP, wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, null /* previousWord */,
null /* keyboard */);
wc.setCursorPositionWithinWord(3);
assertFalse(wc.moveCursorByAndReturnIfInsideComposingWord(-9));
- assertNull(wc.getPreviousWord());
+ assertNull(wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, STR_WITH_SUPPLEMENTARY_CHAR,
null /* keyboard */);
assertTrue(wc.moveCursorByAndReturnIfInsideComposingWord(-10));
- assertEquals(STR_WITH_SUPPLEMENTARY_CHAR, wc.getPreviousWord());
+ assertEquals(STR_WITH_SUPPLEMENTARY_CHAR, wc.getPreviousWordForSuggestion());
wc.setComposingWord(STR_WITH_SUPPLEMENTARY_CHAR, null /* previousWord */,
null /* keyboard */);
diff --git a/tests/src/com/android/inputmethod/latin/utils/StringAndJsonUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/StringAndJsonUtilsTests.java
index 2123e84e8..0c88f34f0 100644
--- a/tests/src/com/android/inputmethod/latin/utils/StringAndJsonUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/StringAndJsonUtilsTests.java
@@ -292,6 +292,20 @@ public class StringAndJsonUtilsTests extends AndroidTestCase {
assertTrue(bytesStr.equals(bytesStr2));
}
+ public void testContainsOnlyWhitespace() {
+ assertTrue(StringUtils.containsOnlyWhitespace(" "));
+ assertTrue(StringUtils.containsOnlyWhitespace(""));
+ assertTrue(StringUtils.containsOnlyWhitespace(" \n\t\t"));
+ // U+2002 : EN SPACE
+ // U+2003 : EM SPACE
+ // U+3000 : IDEOGRAPHIC SPACE (commonly "double-width space")
+ assertTrue(StringUtils.containsOnlyWhitespace("\u2002\u2003\u3000"));
+ assertFalse(StringUtils.containsOnlyWhitespace(" a "));
+ assertFalse(StringUtils.containsOnlyWhitespace(". "));
+ assertFalse(StringUtils.containsOnlyWhitespace("."));
+ assertTrue(StringUtils.containsOnlyWhitespace(""));
+ }
+
public void testJsonUtils() {
final Object[] objs = new Object[] { 1, "aaa", "bbb", 3 };
final List<Object> objArray = Arrays.asList(objs);