Adding CTS tests for setLanguage and setAudioAttributes TTS APIs
Test: run cts -m CtsSpeechTestCases
Change-Id: I71c619d2b8201a882d483bbb0100733a24a6a910
diff --git a/tests/tests/speech/src/android/speech/tts/cts/StubTextToSpeechService.java b/tests/tests/speech/src/android/speech/tts/cts/StubTextToSpeechService.java
index 4665644..e6e06d6 100644
--- a/tests/tests/speech/src/android/speech/tts/cts/StubTextToSpeechService.java
+++ b/tests/tests/speech/src/android/speech/tts/cts/StubTextToSpeechService.java
@@ -48,28 +48,42 @@
public StubTextToSpeechService() {
supportedLanguages.add(new Locale("eng"));
- supportedCountries.add(new Locale("eng", "USA"));
- supportedCountries.add(new Locale("eng", "GBR"));
- GBFallbacks.add(new Locale("eng", "NZL"));
+ supportedCountries.add(new Locale("eng", "US"));
+ supportedCountries.add(new Locale("eng", "GB"));
+ GBFallbacks.add(new Locale("eng", "NZ"));
}
@Override
protected String[] onGetLanguage() {
- return new String[] { "eng", "USA", "" };
+ return new String[] { "eng", "US", "" };
}
@Override
protected int onIsLanguageAvailable(String lang, String country, String variant) {
+ country = convertISO3CountryToISO2(country);
if (supportedCountries.contains(new Locale(lang, country))) {
return TextToSpeech.LANG_COUNTRY_AVAILABLE;
}
if (supportedLanguages.contains(new Locale(lang))) {
return TextToSpeech.LANG_AVAILABLE;
}
-
+
return TextToSpeech.LANG_NOT_SUPPORTED;
}
+ private String convertISO3CountryToISO2(String iso3Country) {
+ switch (iso3Country.toUpperCase()) {
+ case "USA":
+ return "US";
+ case "GBR":
+ return "GB";
+ case "NZL":
+ return "NZ";
+ default:
+ return iso3Country;
+ }
+ }
+
@Override
protected int onLoadLanguage(String lang, String country, String variant) {
return onIsLanguageAvailable(lang, country, variant);
diff --git a/tests/tests/speech/src/android/speech/tts/cts/TextToSpeechServiceTest.java b/tests/tests/speech/src/android/speech/tts/cts/TextToSpeechServiceTest.java
index 18d894d..869b7e4 100644
--- a/tests/tests/speech/src/android/speech/tts/cts/TextToSpeechServiceTest.java
+++ b/tests/tests/speech/src/android/speech/tts/cts/TextToSpeechServiceTest.java
@@ -15,6 +15,7 @@
*/
package android.speech.tts.cts;
+import android.media.AudioAttributes;
import android.net.Uri;
import android.os.Bundle;
import android.os.ConditionVariable;
@@ -28,6 +29,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.List;
+import java.util.Locale;
/**
* Tests for {@link android.speech.tts.TextToSpeechService} using StubTextToSpeechService.
@@ -243,6 +245,24 @@
}
}
+ public void testSetLanguage() {
+ TextToSpeech tts = getTts();
+
+ assertEquals(tts.setLanguage(null), TextToSpeech.LANG_NOT_SUPPORTED);
+ assertEquals(tts.setLanguage(new Locale("en", "US")), TextToSpeech.LANG_COUNTRY_AVAILABLE);
+ assertEquals(tts.setLanguage(new Locale("en")), TextToSpeech.LANG_AVAILABLE);
+ assertEquals(tts.setLanguage(new Locale("es", "US")), TextToSpeech.LANG_NOT_SUPPORTED);
+ }
+
+ public void testAddAudioAttributes() {
+ TextToSpeech tts = getTts();
+ AudioAttributes attr =
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build();
+
+ assertEquals(tts.setAudioAttributes(null), TextToSpeech.ERROR);
+ assertEquals(tts.setAudioAttributes(attr), TextToSpeech.SUCCESS);
+ }
+
private void generateSampleAudio(File sampleFile) throws Exception {
assertFalse(sampleFile.exists());