package org.jabref.logic.l10n;
import java.util.Locale;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class LocalizationTest {
private Locale locale;
@Before
public void storeDefaultLocale() {
locale = Locale.getDefault();
}
@After
public void restoreDefaultLocale() {
Locale.setDefault(locale);
javax.swing.JComponent.setDefaultLocale(locale);
}
@Test
public void testSetKnownLanguage() {
Locale.setDefault(Locale.CHINA);
Localization.setLanguage("en");
assertEquals("en", Locale.getDefault().toString());
}
@Test
public void testSetUnknownLanguage() {
Locale.setDefault(Locale.CHINA);
Localization.setLanguage("WHATEVER");
assertEquals("en", Locale.getDefault().toString());
}
@Test
public void testKnownTranslation() {
Localization.setLanguage("en");
String knownKey = "Groups";
assertEquals(knownKey, Localization.lang(knownKey));
String knownValueWithMnemonics = "&Groups";
assertEquals(knownValueWithMnemonics, Localization.menuTitle(knownKey));
}
@Test
public void testKnownTranslationWithCountryModifier() {
Localization.setLanguage("en_US");
String knownKey = "Groups";
assertEquals(knownKey, Localization.lang(knownKey));
String knownValueWithMnemonics = "&Groups";
assertEquals(knownValueWithMnemonics, Localization.menuTitle(knownKey));
}
@Test
public void testUnknownTranslation() {
Localization.setLanguage("en");
String knownKey = "WHATEVER";
assertEquals(knownKey, Localization.lang(knownKey));
assertEquals(knownKey, Localization.menuTitle(knownKey));
}
@Test
public void testUnsetLanguageTranslation() {
String knownKey = "Groups";
assertEquals(knownKey, Localization.lang(knownKey));
String knownValueWithMnemonics = "&Groups";
assertEquals(knownValueWithMnemonics, Localization.menuTitle(knownKey));
}
}