package org.codehaus.mojo.jaxb2.shared.environment.locale; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.mojo.jaxb2.BufferingLog; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import java.util.Locale; /** * @author <a href="mailto:lj@jguru.se">Lennart Jörelid</a>, jGuru Europe AB */ public class LocaleFacetTest { // Shared state private static final Locale FRENCH_LOCALE = Locale.FRENCH; private Locale defaultLocale; private BufferingLog log; @Before public void setupSharedState() { this.log = new BufferingLog(BufferingLog.LogLevel.DEBUG); defaultLocale = Locale.getDefault(); } @Test public void validateLocaleParsing() throws MojoExecutionException { // Assemble final String frenchLocaleString = "fr"; // Act & Assert final LocaleFacet facet = LocaleFacet.createFor(frenchLocaleString, log); Assert.assertEquals(defaultLocale, Locale.getDefault()); facet.setup(); Assert.assertEquals(FRENCH_LOCALE.toString(), Locale.getDefault().toString()); facet.restore(); Assert.assertEquals(defaultLocale.toString(), Locale.getDefault().toString()); } @Test(expected = MojoExecutionException.class) public void validateExceptionOnIncorrectLocaleString() throws MojoExecutionException { // Act & Assert LocaleFacet.createFor("not,a,properly,formatted,locale_string", log); } @Test public void validateNoExceptionOnUnknownLocaleString() throws MojoExecutionException { // Act & Assert LocaleFacet.createFor("thisIsAnUnknownLocale", log); } }