summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/TtsTests/src/com/android/speech/tts/TtsEnginesTests.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/TtsTests/src/com/android/speech/tts/TtsEnginesTests.java b/tests/TtsTests/src/com/android/speech/tts/TtsEnginesTests.java
new file mode 100644
index 0000000..45e5216
--- /dev/null
+++ b/tests/TtsTests/src/com/android/speech/tts/TtsEnginesTests.java
@@ -0,0 +1,64 @@
+package com.android.speech.tts;
+
+import android.speech.tts.TtsEngines;
+import android.test.InstrumentationTestCase;
+
+import java.util.Locale;
+
+public class TtsEnginesTests extends InstrumentationTestCase {
+ private TtsEngines mTtsHelper;
+
+ @Override
+ public void setUp() {
+ mTtsHelper = new TtsEngines(getInstrumentation().getContext());
+ }
+
+ public void testParseLocaleString() {
+ assertEquals(new Locale("en", "US"), mTtsHelper.parseLocaleString("eng-usa"));
+ assertEquals(new Locale("en", "US"), mTtsHelper.parseLocaleString("eng-USA"));
+ assertEquals(new Locale("en", "US"), mTtsHelper.parseLocaleString("en-US"));
+ assertEquals(new Locale("en", "US"), mTtsHelper.parseLocaleString("en_us"));
+ assertEquals(new Locale("en", "US"), mTtsHelper.parseLocaleString("eng_US"));
+ assertEquals(new Locale("en", "US", "foobar"),
+ mTtsHelper.parseLocaleString("eng_US-foobar"));
+ assertEquals(new Locale("en", "", "foobar"), mTtsHelper.parseLocaleString("eng__foobar"));
+ assertNull(mTtsHelper.parseLocaleString("cc_xx_barbar"));
+ assertNull(mTtsHelper.parseLocaleString("cc--barbar"));
+
+ assertEquals(new Locale("en"), mTtsHelper.parseLocaleString("eng"));
+ assertEquals(new Locale("en","US","var"), mTtsHelper.parseLocaleString("eng-USA-var"));
+ }
+
+ public void testToOldLocaleStringFormat() {
+ assertArraysEqual(new String[]{"deu", "DEU", ""},
+ TtsEngines.toOldLocaleStringFormat(new Locale("de", "DE")));
+ assertArraysEqual(new String[]{"deu", "", ""},
+ TtsEngines.toOldLocaleStringFormat(new Locale("de")));
+ assertArraysEqual(new String[]{"eng", "", ""},
+ TtsEngines.toOldLocaleStringFormat(new Locale("en")));
+ assertArraysEqual(new String[]{"eng", "USA", ""},
+ TtsEngines.toOldLocaleStringFormat(new Locale("foo")));
+ }
+
+ public void testGetLocalePrefForEngine() {
+ assertEquals(new Locale("en", "US"),
+ mTtsHelper.getLocalePrefForEngine("foo","foo:en-US"));
+ assertEquals(new Locale("en", "US"),
+ mTtsHelper.getLocalePrefForEngine("foo","foo:eng-usa"));
+ assertEquals(new Locale("en", "US"),
+ mTtsHelper.getLocalePrefForEngine("foo","foo:eng_USA"));
+ assertEquals(new Locale("de", "DE"),
+ mTtsHelper.getLocalePrefForEngine("foo","foo:deu-deu"));
+ assertEquals(Locale.getDefault(),
+ mTtsHelper.getLocalePrefForEngine("foo","foo:,bar:xx"));
+ assertEquals(Locale.getDefault(),
+ mTtsHelper.getLocalePrefForEngine("other","foo:,bar:xx"));
+ }
+
+ private void assertArraysEqual(String[] expected, String[] actual) {
+ assertEquals("array length", expected.length, actual.length);
+ for (int i = 0; i < expected.length; i++) {
+ assertEquals("index " + i, expected[i], actual[i]);
+ }
+ }
+} \ No newline at end of file