aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/inputmethod/latin/ResourceUtilsTests.java140
-rw-r--r--tests/src/com/android/inputmethod/latin/StringUtilsTests.java61
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");
- }
- }
}