Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 88a83a14f4f9f5f8b6f20dffe6d3a927040a29f5 (plain) (tree)






























































































































                                                                                            
package org.eclipse.osgi.tests.eclipseadaptor;

import static org.junit.Assert.assertEquals;

import java.util.Locale;
import org.eclipse.osgi.internal.framework.EquinoxConfiguration;
import org.junit.Test;

public class LocaleTransformationTest {

	@Test
	public void testValidLanguageCountryVariant() {
		String localeString = "de_DE_EURO";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("de", locale.getLanguage());
		assertEquals("DE", locale.getCountry());
		assertEquals("EURO", locale.getVariant());
	}

	@Test
	public void testValidLanguageCountry() {
		String localeString = "de_DE";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("de", locale.getLanguage());
		assertEquals("DE", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testValidLanguage() {
		String localeString = "de";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("de", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testValidCountry() {
		String localeString = "_DE";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("", locale.getLanguage());
		assertEquals("DE", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testValidLanguageVariant() {
		String localeString = "de__EURO";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("de", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("EURO", locale.getVariant());
	}

	@Test
	public void testValidVariant() {
		String localeString = "__EURO";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("EURO", locale.getVariant());
	}

	@Test
	public void testValidCountryVariant() {
		String localeString = "_DE_EURO";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("", locale.getLanguage());
		assertEquals("DE", locale.getCountry());
		assertEquals("EURO", locale.getVariant());
	}

	@Test
	public void testInvalidLanguage() {
		String localeString = "1234";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("en", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testInvalidOneLetterLanguage() {
		String localeString = "a";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("en", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testThreeLetterValidLanguage() {
		String localeString = "kok";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("kok", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testInvalidOneLetterCountry() {
		String localeString = "_X";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("en", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testInvalidThreeLetterCountry() {
		String localeString = "_XXX";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("en", locale.getLanguage());
		assertEquals("", locale.getCountry());
		assertEquals("", locale.getVariant());
	}

	@Test
	public void testValidNumericAreaCode() {
		String localeString = "_029";
		Locale locale = EquinoxConfiguration.toLocale(localeString, Locale.ENGLISH);
		assertEquals("", locale.getLanguage());
		assertEquals("029", locale.getCountry());
		assertEquals("", locale.getVariant());
	}
}

Back to the top