aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/StringUtilsTests.java
diff options
context:
space:
mode:
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);
+ }
}