aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-09-13 20:09:52 +0900
committerJean Chalard <jchalard@google.com>2012-09-14 19:01:25 +0900
commit2c0d91628733ab502a47f6a60411b1f7e3d0b9a2 (patch)
tree76527ca9d8f3f89af98cfbbf077273de4ab9b86e /tests/src/com/android/inputmethod/latin/StringUtilsTests.java
parentb29efecd26986e17d73f7226e8ac694e116601ba (diff)
downloadlatinime-2c0d91628733ab502a47f6a60411b1f7e3d0b9a2.tar.gz
latinime-2c0d91628733ab502a47f6a60411b1f7e3d0b9a2.tar.xz
latinime-2c0d91628733ab502a47f6a60411b1f7e3d0b9a2.zip
Fix abbreviations processing for English (A7)
It's still incorrect for non-English languages. Bug: 4967874 Change-Id: I3d4379265f72e1c0435eba90ab878a80bbcf55ce
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/StringUtilsTests.java')
-rw-r--r--tests/src/com/android/inputmethod/latin/StringUtilsTests.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
index 5db06ef51..0cef28c74 100644
--- a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.latin;
import android.test.AndroidTestCase;
+import android.text.TextUtils;
public class StringUtilsTests extends AndroidTestCase {
public void testContainsInArray() {
@@ -99,4 +100,44 @@ public class StringUtilsTests extends AndroidTestCase {
assertFalse("lower-case string", StringUtils.hasUpperCase("string"));
assertFalse("lower-case string with non-letters", StringUtils.hasUpperCase("he's"));
}
+
+ private void onePathForCaps(final CharSequence cs, final int expectedResult, final int mask) {
+ int oneTimeResult = expectedResult & mask;
+ assertEquals("After >" + cs + "<", oneTimeResult, StringUtils.getCapsMode(cs, mask));
+ }
+
+ private void allPathsForCaps(final CharSequence cs, final int expectedResult) {
+ final int c = TextUtils.CAP_MODE_CHARACTERS;
+ final int w = TextUtils.CAP_MODE_WORDS;
+ final int s = TextUtils.CAP_MODE_SENTENCES;
+ onePathForCaps(cs, expectedResult, c | w | s);
+ onePathForCaps(cs, expectedResult, w | s);
+ onePathForCaps(cs, expectedResult, c | s);
+ onePathForCaps(cs, expectedResult, c | w);
+ onePathForCaps(cs, expectedResult, c);
+ onePathForCaps(cs, expectedResult, w);
+ onePathForCaps(cs, expectedResult, s);
+ }
+
+ public void testGetCapsMode() {
+ final int c = TextUtils.CAP_MODE_CHARACTERS;
+ final int w = TextUtils.CAP_MODE_WORDS;
+ final int s = TextUtils.CAP_MODE_SENTENCES;
+ allPathsForCaps("", c | w | s);
+ allPathsForCaps("Word", c);
+ allPathsForCaps("Word.", c);
+ allPathsForCaps("Word ", c | w);
+ allPathsForCaps("Word. ", c | w | s);
+ allPathsForCaps("Word..", c);
+ allPathsForCaps("Word.. ", c | w | s);
+ allPathsForCaps("Word... ", c | w | s);
+ allPathsForCaps("Word ... ", c | w | s);
+ allPathsForCaps("Word . ", c | w);
+ allPathsForCaps("In the U.S ", c | w);
+ allPathsForCaps("In the U.S. ", c | w);
+ allPathsForCaps("Some stuff (e.g. ", c | w);
+ allPathsForCaps("In the U.S.. ", c | w | s);
+ allPathsForCaps("\"Word.\" ", c | w | s);
+ allPathsForCaps("\"Word\" ", c | w);
+ }
}