diff options
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/ResourceUtilsTests.java | 140 | ||||
-rw-r--r-- | tests/src/com/android/inputmethod/latin/StringUtilsTests.java | 61 |
2 files changed, 141 insertions, 60 deletions
diff --git a/tests/src/com/android/inputmethod/latin/ResourceUtilsTests.java b/tests/src/com/android/inputmethod/latin/ResourceUtilsTests.java new file mode 100644 index 000000000..fa6df7010 --- /dev/null +++ b/tests/src/com/android/inputmethod/latin/ResourceUtilsTests.java @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.latin; + +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; + +import java.util.HashMap; + +@SmallTest +public class ResourceUtilsTests extends AndroidTestCase { + public void testFindDefaultConstant() { + final String[] nullArray = null; + assertNull(ResourceUtils.findDefaultConstant(nullArray)); + + final String[] emptyArray = {}; + assertNull(ResourceUtils.findDefaultConstant(emptyArray)); + + final String[] array = { + "HARDWARE=grouper,0.3", + "HARDWARE=mako,0.4", + ",defaultValue1", + "HARDWARE=manta,0.2", + ",defaultValue2", + }; + assertEquals(ResourceUtils.findDefaultConstant(array), "defaultValue1"); + } + + public void testFindConstantForKeyValuePairsSimple() { + final HashMap<String,String> anyKeyValue = CollectionUtils.newHashMap(); + anyKeyValue.put("anyKey", "anyValue"); + final HashMap<String,String> nullKeyValue = null; + final HashMap<String,String> emptyKeyValue = CollectionUtils.newHashMap(); + + final String[] nullArray = null; + assertNull(ResourceUtils.findConstantForKeyValuePairs(anyKeyValue, nullArray)); + assertNull(ResourceUtils.findConstantForKeyValuePairs(emptyKeyValue, nullArray)); + assertNull(ResourceUtils.findConstantForKeyValuePairs(nullKeyValue, nullArray)); + + final String[] emptyArray = {}; + assertNull(ResourceUtils.findConstantForKeyValuePairs(anyKeyValue, emptyArray)); + assertNull(ResourceUtils.findConstantForKeyValuePairs(emptyKeyValue, emptyArray)); + assertNull(ResourceUtils.findConstantForKeyValuePairs(nullKeyValue, emptyArray)); + + final String HARDWARE_KEY = "HARDWARE"; + final String[] array = { + ",defaultValue", + "HARDWARE=grouper,0.3", + "HARDWARE=mako,0.4", + "HARDWARE=manta,0.2", + "HARDWARE=mako,0.5", + }; + + final HashMap<String,String> keyValues = CollectionUtils.newHashMap(); + keyValues.put(HARDWARE_KEY, "grouper"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.3"); + keyValues.put(HARDWARE_KEY, "mako"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.4"); + keyValues.put(HARDWARE_KEY, "manta"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.2"); + + try { + keyValues.clear(); + keyValues.put("hardware", "grouper"); + final String constant = ResourceUtils.findConstantForKeyValuePairs(keyValues, array); + fail("condition without HARDWARE must fail: constant=" + constant); + } catch (final RuntimeException e) { + assertEquals(e.getMessage(), "Found unknown key: HARDWARE=grouper"); + } + keyValues.clear(); + keyValues.put(HARDWARE_KEY, "MAKO"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, array)); + keyValues.put(HARDWARE_KEY, "mantaray"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, array)); + + try { + final String constant = ResourceUtils.findConstantForKeyValuePairs( + emptyKeyValue, array); + fail("emptyCondition shouldn't match: constant=" + constant); + } catch (final RuntimeException e) { + assertEquals(e.getMessage(), "Found unknown key: HARDWARE=grouper"); + } + } + + public void testFindConstantForKeyValuePairsCombined() { + final String HARDWARE_KEY = "HARDWARE"; + final String MODEL_KEY = "MODEL"; + final String MANUFACTURER_KEY = "MANUFACTURER"; + final String[] array = { + ",defaultValue", + "HARDWARE=grouper:MANUFACTURER=asus,0.3", + "HARDWARE=mako:MODEL=Nexus 4,0.4", + "HARDWARE=manta:MODEL=Nexus 10:MANUFACTURER=samsung,0.2" + }; + final String[] failArray = { + ",defaultValue", + "HARDWARE=grouper:MANUFACTURER=ASUS,0.3", + "HARDWARE=mako:MODEL=Nexus_4,0.4", + "HARDWARE=mantaray:MODEL=Nexus 10:MANUFACTURER=samsung,0.2" + }; + + final HashMap<String,String> keyValues = CollectionUtils.newHashMap(); + keyValues.put(HARDWARE_KEY, "grouper"); + keyValues.put(MODEL_KEY, "Nexus 7"); + keyValues.put(MANUFACTURER_KEY, "asus"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.3"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, failArray)); + + keyValues.clear(); + keyValues.put(HARDWARE_KEY, "mako"); + keyValues.put(MODEL_KEY, "Nexus 4"); + keyValues.put(MANUFACTURER_KEY, "LGE"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.4"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, failArray)); + + keyValues.clear(); + keyValues.put(HARDWARE_KEY, "manta"); + keyValues.put(MODEL_KEY, "Nexus 10"); + keyValues.put(MANUFACTURER_KEY, "samsung"); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, array), "0.2"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, failArray)); + keyValues.put(HARDWARE_KEY, "mantaray"); + assertNull(ResourceUtils.findConstantForKeyValuePairs(keyValues, array)); + assertEquals(ResourceUtils.findConstantForKeyValuePairs(keyValues, failArray), "0.2"); + } +} diff --git a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java index b6a17a3a3..29e790a7d 100644 --- a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java +++ b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java @@ -178,7 +178,7 @@ public class StringUtilsTests extends AndroidTestCase { assertTrue(StringUtils.isIdenticalAfterDowncase("")); } - private void checkCapitalize(final String src, final String dst, final String separators, + private static void checkCapitalize(final String src, final String dst, final String separators, final Locale locale) { assertEquals(dst, StringUtils.capitalizeEachWord(src, separators, locale)); assert(src.equals(dst) @@ -237,63 +237,4 @@ 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"); - } - } } |