package io.github.droidkaigi.confsched.util; import android.content.Context; import android.support.test.InstrumentationRegistry; import android.support.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; import java.util.Locale; import io.github.droidkaigi.confsched.prefs.DefaultPrefs; import static org.assertj.core.api.Assertions.assertThat; @RunWith(AndroidJUnit4.class) public class LocaleUtilTest { @Test public void testCurrentLanguageId() throws Exception { Context context = InstrumentationRegistry.getContext(); // is not null value. assertThat(LocaleUtil.getCurrentLanguageId(context)).isNotNull(); DefaultPrefs.get(context).putLanguageId("ja"); // eq to languageID is put in SharedPreferences. assertThat(LocaleUtil.getCurrentLanguageId(context)).isEqualTo("ja"); DefaultPrefs.get(context).removeLanguageId(); String defaultLanguage = Locale.getDefault().getLanguage().toLowerCase(); if (LocaleUtil.SUPPORT_LANG.contains(defaultLanguage)) { // eq to Locale.getDefault().getLanguage() when it is supported assertThat(LocaleUtil.getCurrentLanguageId(context)).isEqualTo(defaultLanguage); } else { // eq to "en" when Locale.getDefault().getLanguage() is not supported assertThat(LocaleUtil.getCurrentLanguageId(context)).isEqualTo("en"); } } }