diff options
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/StringUtilsTests.java | 91 | ||||
-rw-r--r-- | tests/src/com/android/inputmethod/latin/SubtypeLocaleTests.java | 45 |
2 files changed, 116 insertions, 20 deletions
diff --git a/tests/src/com/android/inputmethod/latin/StringUtilsTests.java b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java new file mode 100644 index 000000000..8a5a82246 --- /dev/null +++ b/tests/src/com/android/inputmethod/latin/StringUtilsTests.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2012 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; + +public class StringUtilsTests extends AndroidTestCase { + public void testContainsInArray() { + assertFalse("empty array", StringUtils.containsInArray("key", new String[0])); + assertFalse("not in 1 element", StringUtils.containsInArray("key", new String[] { + "key1" + })); + assertFalse("not in 2 elements", StringUtils.containsInArray("key", new String[] { + "key1", "key2" + })); + + assertTrue("in 1 element", StringUtils.containsInArray("key", new String[] { + "key" + })); + assertTrue("in 2 elements", StringUtils.containsInArray("key", new String[] { + "key1", "key" + })); + } + + public void testContainsInCsv() { + assertFalse("null", StringUtils.containsInCsv("key", null)); + assertFalse("empty", StringUtils.containsInCsv("key", "")); + assertFalse("not in 1 element", StringUtils.containsInCsv("key", "key1")); + assertFalse("not in 2 elements", StringUtils.containsInCsv("key", "key1,key2")); + + assertTrue("in 1 element", StringUtils.containsInCsv("key", "key")); + assertTrue("in 2 elements", StringUtils.containsInCsv("key", "key1,key")); + } + + public void testAppendToCsvIfNotExists() { + assertEquals("null", "key", StringUtils.appendToCsvIfNotExists("key", null)); + assertEquals("empty", "key", StringUtils.appendToCsvIfNotExists("key", "")); + + assertEquals("not in 1 element", "key1,key", + StringUtils.appendToCsvIfNotExists("key", "key1")); + assertEquals("not in 2 elements", "key1,key2,key", + StringUtils.appendToCsvIfNotExists("key", "key1,key2")); + + assertEquals("in 1 element", "key", + StringUtils.appendToCsvIfNotExists("key", "key")); + assertEquals("in 2 elements at position 1", "key,key2", + StringUtils.appendToCsvIfNotExists("key", "key,key2")); + assertEquals("in 2 elements at position 2", "key1,key", + StringUtils.appendToCsvIfNotExists("key", "key1,key")); + assertEquals("in 3 elements at position 2", "key1,key,key3", + StringUtils.appendToCsvIfNotExists("key", "key1,key,key3")); + } + + public void testRemoveFromCsvIfExists() { + assertEquals("null", "", StringUtils.removeFromCsvIfExists("key", null)); + assertEquals("empty", "", StringUtils.removeFromCsvIfExists("key", "")); + + assertEquals("not in 1 element", "key1", + StringUtils.removeFromCsvIfExists("key", "key1")); + assertEquals("not in 2 elements", "key1,key2", + StringUtils.removeFromCsvIfExists("key", "key1,key2")); + + assertEquals("in 1 element", "", + StringUtils.removeFromCsvIfExists("key", "key")); + assertEquals("in 2 elements at position 1", "key2", + StringUtils.removeFromCsvIfExists("key", "key,key2")); + assertEquals("in 2 elements at position 2", "key1", + StringUtils.removeFromCsvIfExists("key", "key1,key")); + assertEquals("in 3 elements at position 2", "key1,key3", + StringUtils.removeFromCsvIfExists("key", "key1,key,key3")); + + assertEquals("in 3 elements at position 1,2,3", "", + StringUtils.removeFromCsvIfExists("key", "key,key,key")); + assertEquals("in 5 elements at position 2,4", "key1,key3,key5", + StringUtils.removeFromCsvIfExists("key", "key1,key,key3,key,key5")); + } +} diff --git a/tests/src/com/android/inputmethod/latin/SubtypeLocaleTests.java b/tests/src/com/android/inputmethod/latin/SubtypeLocaleTests.java index 12711c137..b29477057 100644 --- a/tests/src/com/android/inputmethod/latin/SubtypeLocaleTests.java +++ b/tests/src/com/android/inputmethod/latin/SubtypeLocaleTests.java @@ -110,6 +110,7 @@ public class SubtypeLocaleTests extends AndroidTestCase { // zz qwerty F QWERTY QWERTY // fr qwertz T Fr Français Français (QWERTZ) // de qwerty T De Deutsch Deutsch (QWERTY) + // en_US azerty T En English English (US) (AZERTY) // zz azerty T AZERTY AZERTY public void testSampleSubtypes() { @@ -165,32 +166,36 @@ public class SubtypeLocaleTests extends AndroidTestCase { public void testAdditionalSubtype() { final InputMethodSubtype DE_QWERTY = AdditionalSubtype.createAdditionalSubtype( - Locale.GERMAN.toString(), AdditionalSubtype.QWERTY); + Locale.GERMAN.toString(), AdditionalSubtype.QWERTY, null); final InputMethodSubtype FR_QWERTZ = AdditionalSubtype.createAdditionalSubtype( - Locale.FRENCH.toString(), AdditionalSubtype.QWERTZ); - final InputMethodSubtype EN_AZERTY = AdditionalSubtype.createAdditionalSubtype( - Locale.ENGLISH.toString(), AdditionalSubtype.AZERTY); + Locale.FRENCH.toString(), AdditionalSubtype.QWERTZ, null); + final InputMethodSubtype US_AZERTY = AdditionalSubtype.createAdditionalSubtype( + Locale.US.toString(), AdditionalSubtype.AZERTY, null); final InputMethodSubtype ZZ_AZERTY = AdditionalSubtype.createAdditionalSubtype( - SubtypeLocale.NO_LANGUAGE, AdditionalSubtype.AZERTY); + SubtypeLocale.NO_LANGUAGE, AdditionalSubtype.AZERTY, null); assertTrue(AdditionalSubtype.isAdditionalSubtype(FR_QWERTZ)); assertTrue(AdditionalSubtype.isAdditionalSubtype(DE_QWERTY)); - assertTrue(AdditionalSubtype.isAdditionalSubtype(EN_AZERTY)); + assertTrue(AdditionalSubtype.isAdditionalSubtype(US_AZERTY)); assertTrue(AdditionalSubtype.isAdditionalSubtype(ZZ_AZERTY)); - assertEquals("fr qwertz", "Français (QWERTZ)", SubtypeLocale.getFullDisplayName(FR_QWERTZ)); - assertEquals("de qwerty", "Deutsch (QWERTY)", SubtypeLocale.getFullDisplayName(DE_QWERTY)); - assertEquals("en azerty", "English (AZERTY)", SubtypeLocale.getFullDisplayName(EN_AZERTY)); - assertEquals("zz azerty", "AZERTY", SubtypeLocale.getFullDisplayName(ZZ_AZERTY)); - - assertEquals("fr qwertz", "Français", SubtypeLocale.getMiddleDisplayName(FR_QWERTZ)); - assertEquals("de qwerty", "Deutsch", SubtypeLocale.getMiddleDisplayName(DE_QWERTY)); - assertEquals("en azerty", "English", SubtypeLocale.getMiddleDisplayName(EN_AZERTY)); - assertEquals("zz azerty", "AZERTY", SubtypeLocale.getMiddleDisplayName(ZZ_AZERTY)); - - assertEquals("fr qwertz", "Fr", SubtypeLocale.getShortDisplayName(FR_QWERTZ)); - assertEquals("de qwerty", "De", SubtypeLocale.getShortDisplayName(DE_QWERTY)); - assertEquals("en azerty", "En", SubtypeLocale.getShortDisplayName(EN_AZERTY)); - assertEquals("zz azerty", "", SubtypeLocale.getShortDisplayName(ZZ_AZERTY)); + assertEquals("fr qwertz", "Français (QWERTZ)", + SubtypeLocale.getFullDisplayName(FR_QWERTZ)); + assertEquals("de qwerty", "Deutsch (QWERTY)", + SubtypeLocale.getFullDisplayName(DE_QWERTY)); + assertEquals("en_US azerty", "English (US) (AZERTY)", + SubtypeLocale.getFullDisplayName(US_AZERTY)); + assertEquals("zz azerty", "AZERTY", + SubtypeLocale.getFullDisplayName(ZZ_AZERTY)); + + assertEquals("fr qwertz", "Français", SubtypeLocale.getMiddleDisplayName(FR_QWERTZ)); + assertEquals("de qwerty", "Deutsch", SubtypeLocale.getMiddleDisplayName(DE_QWERTY)); + assertEquals("en_US azerty", "English", SubtypeLocale.getMiddleDisplayName(US_AZERTY)); + assertEquals("zz azerty", "AZERTY", SubtypeLocale.getMiddleDisplayName(ZZ_AZERTY)); + + assertEquals("fr qwertz", "Fr", SubtypeLocale.getShortDisplayName(FR_QWERTZ)); + assertEquals("de qwerty", "De", SubtypeLocale.getShortDisplayName(DE_QWERTY)); + assertEquals("en_US azerty", "En", SubtypeLocale.getShortDisplayName(US_AZERTY)); + assertEquals("zz azerty", "", SubtypeLocale.getShortDisplayName(ZZ_AZERTY)); } } |