aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java31
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecSplitTests.java2
-rw-r--r--tests/src/com/android/inputmethod/latin/utils/ResourceUtilsTests.java33
3 files changed, 29 insertions, 37 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
index cb640b3f8..edeb6a6c2 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
@@ -52,9 +52,8 @@ abstract class KeySpecParserTestsBase extends AndroidTestCase {
protected void setUp() throws Exception {
super.setUp();
- final String language = TEST_LOCALE.getLanguage();
- mCodesSet.setLanguage(language);
- mTextsSet.setLanguage(language);
+ mCodesSet.setLocale(TEST_LOCALE);
+ mTextsSet.setLocale(TEST_LOCALE);
final Context context = getContext();
new RunInLocale<Void>() {
@Override
@@ -219,6 +218,32 @@ abstract class KeySpecParserTestsBase extends AndroidTestCase {
"a|c", null, ICON_UNDEFINED, mCodeSettings);
}
+ public void testCodes() {
+ assertParser("Hexadecimal code", "a|0x1000",
+ "a", null, ICON_UNDEFINED, 0x1000);
+ assertParserError("Illegal hexadecimal code", "a|0x100X",
+ "a", null, ICON_UNDEFINED, CODE_UNSPECIFIED);
+ assertParser("Escaped hexadecimal code 1", "a|\\0x1000",
+ "a", "0x1000", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
+ assertParser("Escaped hexadecimal code 2", "a|0\\x1000",
+ "a", "0x1000", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
+ assertParser("Escaped hexadecimal code 2", "a|0\\x1000",
+ "a", "0x1000", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
+ assertParserError("Illegally escaped hexadecimal code", "a|0x1\\000",
+ "a", null, ICON_UNDEFINED, CODE_UNSPECIFIED);
+ // This is a workaround to have a key that has a supplementary code point. We can't put a
+ // string in resource as a XML entity of a supplementary code point or a surrogate pair.
+ // TODO: Should pass this test.
+// assertParser("Hexadecimal supplementary code", String.format("a|0x%06x", SURROGATE_CODE2),
+// SURROGATE_PAIR2, null, ICON_UNDEFINED, SURROGATE_CODE2);
+ assertParser("Zero is treated as output text", "a|0",
+ "a", null, ICON_UNDEFINED, '0');
+ assertParser("Digit is treated as output text", "a|3",
+ "a", null, ICON_UNDEFINED, '3');
+ assertParser("Decimal number is treated as an output text", "a|2014",
+ "a", "2014", ICON_UNDEFINED, CODE_OUTPUT_TEXT);
+ }
+
public void testIcons() {
assertParser("Icon with single letter", ICON_SETTINGS + "|a",
null, null, mSettingsIconId, 'a');
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecSplitTests.java b/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecSplitTests.java
index 5f301a839..42a94f420 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecSplitTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecSplitTests.java
@@ -41,7 +41,7 @@ public class MoreKeySpecSplitTests extends InstrumentationTestCase {
final Instrumentation instrumentation = getInstrumentation();
final Context targetContext = instrumentation.getTargetContext();
- mTextsSet.setLanguage(TEST_LOCALE.getLanguage());
+ mTextsSet.setLocale(TEST_LOCALE);
new RunInLocale<Void>() {
@Override
protected Void job(final Resources res) {
diff --git a/tests/src/com/android/inputmethod/latin/utils/ResourceUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/ResourceUtilsTests.java
index 1ae22e307..3eb704093 100644
--- a/tests/src/com/android/inputmethod/latin/utils/ResourceUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/ResourceUtilsTests.java
@@ -19,43 +19,10 @@ package com.android.inputmethod.latin.utils;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
-import com.android.inputmethod.latin.utils.ResourceUtils.DeviceOverridePatternSyntaxError;
-
import java.util.HashMap;
@SmallTest
public class ResourceUtilsTests extends AndroidTestCase {
- public void testFindDefaultConstant() {
- final String[] nullArray = null;
- final String[] emptyArray = {};
- final String[] array = {
- "HARDWARE=grouper,0.3",
- "HARDWARE=mako,0.4",
- ",defaultValue1",
- "HARDWARE=manta,0.2",
- ",defaultValue2",
- };
-
- try {
- assertNull(ResourceUtils.findDefaultConstant(nullArray));
- assertNull(ResourceUtils.findDefaultConstant(emptyArray));
- assertEquals(ResourceUtils.findDefaultConstant(array), "defaultValue1");
- } catch (final DeviceOverridePatternSyntaxError e) {
- fail(e.getMessage());
- }
-
- final String[] errorArray = {
- "HARDWARE=grouper,0.3",
- "no_comma"
- };
- try {
- final String defaultValue = ResourceUtils.findDefaultConstant(errorArray);
- fail("exception should be thrown: defaultValue=" + defaultValue);
- } catch (final DeviceOverridePatternSyntaxError e) {
- assertEquals("Array element has no comma: no_comma", e.getMessage());
- }
- }
-
public void testFindConstantForKeyValuePairsSimple() {
final HashMap<String,String> anyKeyValue = CollectionUtils.newHashMap();
anyKeyValue.put("anyKey", "anyValue");