diff --git a/lib/src/main/java/rife/config/RifeConfig.java b/lib/src/main/java/rife/config/RifeConfig.java index 9db23688..d6cf48b0 100644 --- a/lib/src/main/java/rife/config/RifeConfig.java +++ b/lib/src/main/java/rife/config/RifeConfig.java @@ -1120,7 +1120,12 @@ public class RifeConfig { public ToolsConfig setDefaultCountry(String countryCode) { if (null != countryCode && countryCode.isEmpty()) throw new IllegalArgumentException("countryCode can't be empty."); - defaultCountry_ = countryCode; + + if (null == countryCode) { + defaultCountry_ = DEFAULT_DEFAULT_COUNTRY; + } else { + defaultCountry_ = countryCode; + } return this; } diff --git a/lib/src/test/java/rife/config/TestRifeConfig.java b/lib/src/test/java/rife/config/TestRifeConfig.java index 55fe8246..f79ebc2e 100644 --- a/lib/src/test/java/rife/config/TestRifeConfig.java +++ b/lib/src/test/java/rife/config/TestRifeConfig.java @@ -9,6 +9,7 @@ import rife.config.exceptions.DateFormatInitializationException; import java.lang.reflect.InvocationTargetException; import java.text.DateFormat; +import java.util.Calendar; import java.util.GregorianCalendar; import static org.junit.jupiter.api.Assertions.*; @@ -16,90 +17,94 @@ import static org.junit.jupiter.api.Assertions.*; public class TestRifeConfig { @Test void testShortDateFormat() { - switchLocale("US", "EN"); - - DateFormat sf = RifeConfig.tools().getDefaultShortDateFormat(); - String formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "8/31/04"); - - switchLocale("BE", "NL"); - - sf = RifeConfig.tools().getDefaultShortDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "31/08/2004"); - - switchLocale(null, "ES"); - - sf = RifeConfig.tools().getDefaultShortDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "31/8/04"); - - switchDates("EEE, MMM d, yyyy", "EEE, d MMM yyyy HH:mm:ss"); - - sf = RifeConfig.tools().getDefaultShortDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "mar, ago 31, 2004"); - try { - switchDates("vvvv 999 uuuu", "vvvv, 82.2 cccc"); + switchLocale("US", "EN"); + + var sf = RifeConfig.tools().getDefaultShortDateFormat(); + var formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "8/31/04"); + + switchLocale("BE", "NL"); sf = RifeConfig.tools().getDefaultShortDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - fail(); - } catch (DateFormatInitializationException e) { - assertTrue(true); - } + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); - switchLocale(null, "EN"); - switchDates(null, null); + assertEquals(formatted, "31/08/2004"); + + switchLocale("ES", "ES"); + + sf = RifeConfig.tools().getDefaultShortDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "31/8/04"); + + switchDates("EEE, MMM d, yyyy", "EEE, d MMM yyyy HH:mm:ss"); + + sf = RifeConfig.tools().getDefaultShortDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "mar, ago 31, 2004"); + + try { + switchDates("vvvv 999 uuuu", "vvvv, 82.2 cccc"); + + sf = RifeConfig.tools().getDefaultShortDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + fail(); + } catch (DateFormatInitializationException e) { + assertTrue(true); + } + } finally { + switchLocale(null, "EN"); + switchDates(null, null); + } } @Test void testLongDateFormat() { - switchLocale("US", "EN"); - - DateFormat sf = RifeConfig.tools().getDefaultLongDateFormat(); - String formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "Aug 31, 2004, 3:53 PM"); - - switchLocale("BE", "NL"); - - sf = RifeConfig.tools().getDefaultLongDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "31 aug. 2004 15:53"); - - switchLocale(null, "ES"); - - sf = RifeConfig.tools().getDefaultLongDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "31 ago 2004 15:53"); - - switchDates("EEE, MMM d, yyyy", "EEE, d MMM yyyy HH:mm:ss"); - - sf = RifeConfig.tools().getDefaultLongDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - - assertEquals(formatted, "mar, 31 ago 2004 14:53:00"); - try { - switchDates("wwww 999 uuuu", "vvvv, 82.2 cccc"); + switchLocale("US", "EN"); + + var sf = RifeConfig.tools().getDefaultLongDateFormat(); + var formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "Aug 31, 2004, 3:53 PM"); + + switchLocale("BE", "NL"); sf = RifeConfig.tools().getDefaultLongDateFormat(); - formatted = sf.format(new GregorianCalendar(2004, 7, 31, 15, 53).getTime()); - fail(); - } catch (DateFormatInitializationException e) { - assertTrue(true); - } + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); - switchLocale(null, "en"); - switchDates(null, null); + assertEquals(formatted, "31 aug. 2004 15:53"); + + switchLocale("ES", "ES"); + + sf = RifeConfig.tools().getDefaultLongDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "31 ago 2004 15:53"); + + switchDates("EEE, MMM d, yyyy", "EEE, d MMM yyyy HH:mm:ss"); + + sf = RifeConfig.tools().getDefaultLongDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + + assertEquals(formatted, "mar, 31 ago 2004 14:53:00"); + + try { + switchDates("wwww 999 uuuu", "vvvv, 82.2 cccc"); + + sf = RifeConfig.tools().getDefaultLongDateFormat(); + formatted = sf.format(new GregorianCalendar(2004, Calendar.AUGUST, 31, 15, 53).getTime()); + fail(); + } catch (DateFormatInitializationException e) { + assertTrue(true); + } + } finally { + switchLocale(null, "en"); + switchDates(null, null); + } } public static void switchLocale(String country, String language) {