diff options
author | 2012-09-14 03:14:19 -0700 | |
---|---|---|
committer | 2012-09-14 03:14:21 -0700 | |
commit | 5cb9b70a3a84a20d64e3ffb2ba2bd79ea07500de (patch) | |
tree | 7726a8d77a5d51255c8c57074ac13caf5ac322b7 /tests/src/com/android/inputmethod/latin/StringUtilsTests.java | |
parent | a3f06baa57e679571add40bda26b556eb493318c (diff) | |
parent | 2c0d91628733ab502a47f6a60411b1f7e3d0b9a2 (diff) | |
download | latinime-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.java | 41 |
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); + } } |