diff options
author | 2013-05-10 17:44:39 +0900 | |
---|---|---|
committer | 2013-05-10 18:44:04 +0900 | |
commit | 6d3d2ae0647792c60728b916e25321e93f6f971f (patch) | |
tree | e12c15c1835ade6ee9f4e40dade4e62fa4f98a38 /tests/src/com/android/inputmethod/latin/StringUtilsTests.java | |
parent | 5ffa5bf3ba7d169912d163790e461ab8d5aca30a (diff) | |
download | latinime-6d3d2ae0647792c60728b916e25321e93f6f971f.tar.gz latinime-6d3d2ae0647792c60728b916e25321e93f6f971f.tar.xz latinime-6d3d2ae0647792c60728b916e25321e93f6f971f.zip |
Refactor StringUtils.findPrefixedString to findValueOfKey
Bug: 8556975
Change-Id: I275c99db8a0d10594a5a8c0c27ebc1a87495c307
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/StringUtilsTests.java')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/StringUtilsTests.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java index 1e3cc8ad4..b6a17a3a3 100644 --- a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java +++ b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java @@ -237,4 +237,63 @@ public class StringUtilsTests extends AndroidTestCase { // code for now True is acceptable. assertTrue(StringUtils.lastPartLooksLikeURL(".abc/def")); } + + public void testFindValueOfKey() { + final String nullKey = null; + final String emptyKey = ""; + + final String[] nullArray = null; + assertNull(StringUtils.findValueOfKey("anyKey", nullArray)); + assertNull(StringUtils.findValueOfKey(emptyKey, nullArray)); + assertNull(StringUtils.findValueOfKey(nullKey, nullArray)); + + final String[] emptyArray = {}; + assertNull(StringUtils.findValueOfKey("anyKey", emptyArray)); + assertNull(StringUtils.findValueOfKey(emptyKey, emptyArray)); + assertNull(StringUtils.findValueOfKey(nullKey, emptyArray)); + + final String[] array = { + "DEFAULT,defaultValue", + "HARDWARE=grouper,0.3", + "HARDWARE=mako,0.4", + "HARDWARE=manta,0.2" + }; + assertEquals(StringUtils.findValueOfKey("HARDWARE=grouper", array), "0.3"); + assertEquals(StringUtils.findValueOfKey("HARDWARE=mako", array), "0.4"); + assertEquals(StringUtils.findValueOfKey("HARDWARE=manta", array), "0.2"); + assertEquals(StringUtils.findValueOfKey("DEFAULT", array), "defaultValue"); + + assertNull(StringUtils.findValueOfKey("hardware=grouper", array)); + assertNull(StringUtils.findValueOfKey("HARDWARE=MAKO", array)); + assertNull(StringUtils.findValueOfKey("HARDWARE=mantaray", array)); + assertNull(StringUtils.findValueOfKey(emptyKey, array)); + assertNull(StringUtils.findValueOfKey(nullKey, array)); + + final String[] containsNullKey = { + "DEFAULT,defaultValue", + ",emptyValue" + }; + assertEquals(StringUtils.findValueOfKey(emptyKey, containsNullKey), "emptyValue"); + + final String[] containsMultipleSameKeys = { + "key1,value1", + "key2,value2", + "key3,value3", + "key2,value4" + }; + assertEquals(StringUtils.findValueOfKey("key2", containsMultipleSameKeys), "value2"); + + final String[] containNoCommaElement = { + "key1,value1", + "key2-and-value2", + "key3,value3" + }; + assertEquals(StringUtils.findValueOfKey("key1", containNoCommaElement), "value1"); + try { + final String valueOfKey3 = StringUtils.findValueOfKey("key3", containNoCommaElement); + fail("finding valueOfKey3=" + valueOfKey3 + " must fail"); + } catch (final RuntimeException e) { + assertEquals(e.getMessage(), "Element has no comma: key2-and-value2"); + } + } } |