|
|
|
|
|
|
|
|
|
|
|
|
|
|
package com.reecedunn.espeak.test; |
|
|
package com.reecedunn.espeak.test; |
|
|
|
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint; |
|
|
import android.content.Context; |
|
|
import android.content.Context; |
|
|
|
|
|
import android.os.Build; |
|
|
import android.speech.tts.TextToSpeech; |
|
|
import android.speech.tts.TextToSpeech; |
|
|
import android.test.AndroidTestCase; |
|
|
import android.test.AndroidTestCase; |
|
|
|
|
|
|
|
|
import com.reecedunn.espeak.TtsService; |
|
|
import com.reecedunn.espeak.TtsService; |
|
|
import com.reecedunn.espeak.Voice; |
|
|
import com.reecedunn.espeak.Voice; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Locale; |
|
|
|
|
|
|
|
|
import static com.reecedunn.espeak.test.TtsMatcher.isTtsLangCode; |
|
|
import static com.reecedunn.espeak.test.TtsMatcher.isTtsLangCode; |
|
|
import static org.hamcrest.MatcherAssert.assertThat; |
|
|
import static org.hamcrest.MatcherAssert.assertThat; |
|
|
import static org.hamcrest.Matchers.*; |
|
|
import static org.hamcrest.Matchers.*; |
|
|
|
|
|
|
|
|
public Voice getActiveVoice() { |
|
|
public Voice getActiveVoice() { |
|
|
return mMatchingVoice; |
|
|
return mMatchingVoice; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("NewApi") |
|
|
|
|
|
private android.speech.tts.Voice getVoice(String name) { |
|
|
|
|
|
for (android.speech.tts.Voice voice : onGetVoices()) { |
|
|
|
|
|
if (voice.getName().equals(name)) { |
|
|
|
|
|
return voice; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private TtsServiceTest mService = null; |
|
|
private TtsServiceTest mService = null; |
|
|
|
|
|
|
|
|
assertThat(mService.getActiveVoice(), is(notNullValue())); |
|
|
assertThat(mService.getActiveVoice(), is(notNullValue())); |
|
|
assertThat(mService.getActiveVoice().name, is("vi-sgn")); |
|
|
assertThat(mService.getActiveVoice().name, is("vi-sgn")); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testLanguages() { |
|
|
|
|
|
for (VoiceData.Voice data : VoiceData.voices) |
|
|
|
|
|
{ |
|
|
|
|
|
assertThat(mService.onIsLanguageAvailable(data.javaLanguage, data.javaCountry, data.variant), isTtsLangCode(TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE)); |
|
|
|
|
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { |
|
|
|
|
|
assertThat(mService.onLoadLanguage(data.javaLanguage, data.javaCountry, data.variant), isTtsLangCode(TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE)); |
|
|
|
|
|
checkLanguage(mService.onGetLanguage(), data.javaLanguage, data.javaCountry, data.variant); |
|
|
|
|
|
} else { |
|
|
|
|
|
assertThat(mService.onGetDefaultVoiceNameFor(data.javaLanguage, data.javaCountry, data.variant), is(data.name)); |
|
|
|
|
|
assertThat(mService.onLoadVoice(data.name), is(TextToSpeech.SUCCESS)); |
|
|
|
|
|
|
|
|
|
|
|
android.speech.tts.Voice voice = mService.getVoice(data.name); |
|
|
|
|
|
assertThat(voice, is(notNullValue())); |
|
|
|
|
|
|
|
|
|
|
|
Locale locale = voice.getLocale(); |
|
|
|
|
|
assertThat(locale, is(notNullValue())); |
|
|
|
|
|
assertThat(locale.getISO3Language(), is(data.javaLanguage)); |
|
|
|
|
|
assertThat(locale.getISO3Country(), is(data.javaCountry)); |
|
|
|
|
|
assertThat(locale.getVariant(), is(data.variant)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |