aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-09-14 03:14:19 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-14 03:14:21 -0700
commit5cb9b70a3a84a20d64e3ffb2ba2bd79ea07500de (patch)
tree7726a8d77a5d51255c8c57074ac13caf5ac322b7 /tests/src/com/android/inputmethod/latin/StringUtilsTests.java
parenta3f06baa57e679571add40bda26b556eb493318c (diff)
parent2c0d91628733ab502a47f6a60411b1f7e3d0b9a2 (diff)
downloadlatinime-5cb9b70a3a84a20d64e3ffb2ba2bd79ea07500de.tar.gz
latinime-5cb9b70a3a84a20d64e3ffb2ba2bd79ea07500de.tar.xz
latinime-5cb9b70a3a84a20d64e3ffb2ba2bd79ea07500de.zip
Merge "Fix abbreviations processing for English (A7)" into jb-mr1-dev
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);
+ }
}