diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/TtsTests/src/com/android/speech/tts/TtsEnginesTests.java | 64 |
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 |