You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by mi...@apache.org on 2018/09/21 20:58:40 UTC

svn commit: r1841636 - /velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java

Author: michaelo
Date: Fri Sep 21 20:58:40 2018
New Revision: 1841636

URL: http://svn.apache.org/viewvc?rev=1841636&view=rev
Log:
[VELTOOLS-176] DateToolTests fails locale if not the test locale

Submitted-by: Nate Chadwick <na...@percussion.com>

Modified:
    velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java

Modified: velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java?rev=1841636&r1=1841635&r2=1841636&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java (original)
+++ velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/generic/DateToolTests.java Fri Sep 21 20:58:40 2018
@@ -19,21 +19,16 @@ package org.apache.velocity.tools.generi
  * under the License.
  */
 
-import org.junit.Test;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
-import java.util.Date;
-import java.util.Locale;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
 import java.util.TimeZone;
-//import org.apache.velocity.tools.generic.DateTool;
+
+import org.junit.Test;
 
 /**
  * <p>Tests for DateToolTests</p>
@@ -44,64 +39,87 @@ import java.util.TimeZone;
  */
 public class DateToolTests
 {
+    private final Locale TEST_LOCALE = Locale.FRANCE;
+    private final TimeZone TEST_TIME_ZONE = TimeZone.getTimeZone("Europe/Paris");
+
     public @Test void toLocalizedPattern_simplePattern() throws Exception
     {
         DateTool dt = new DateTool();
 
-        Locale frFR = new Locale("fr", "FR");
-
         assertEquals("DateTool incorrectly localizes date format pattern",
-                     new SimpleDateFormat("yyyy-MM-dd", frFR).toLocalizedPattern(), // "aaaa-MM-jj"
-                     dt.toLocalizedPattern("yyyy-MM-dd", frFR));
+                     new SimpleDateFormat("yyyy-MM-dd", TEST_LOCALE).toLocalizedPattern(), // "aaaa-MM-jj"
+                     dt.toLocalizedPattern("yyyy-MM-dd", TEST_LOCALE));
     }
 
     public @Test void toLocalizedPattern_predefinedDateTimePattern() throws Exception
     {
         DateTool dt = new DateTool();
 
-        Locale frFR = new Locale("fr", "FR");
-
         assertEquals("DateTool incorrectly localizes date format pattern",
-                     ((SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, frFR)).toLocalizedPattern(),
-                     dt.toLocalizedPattern("short", frFR));
+                     ((SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, TEST_LOCALE)).toLocalizedPattern(),
+                     dt.toLocalizedPattern("short", TEST_LOCALE));
     }
 
     public @Test void toLocalizedPattern_predefinedDatePattern() throws Exception
     {
         DateTool dt = new DateTool();
 
-        Locale frFR = new Locale("fr", "FR");
-
         assertEquals("DateTool incorrectly localizes date format pattern",
-                     ((SimpleDateFormat)DateFormat.getDateInstance(DateFormat.SHORT, frFR)).toLocalizedPattern(),
-                     dt.toLocalizedPattern("short_date", frFR));
+                     ((SimpleDateFormat)DateFormat.getDateInstance(DateFormat.SHORT, TEST_LOCALE)).toLocalizedPattern(),
+                     dt.toLocalizedPattern("short_date", TEST_LOCALE));
     }
 
     public @Test void toLocalizedPattern_predefinedTimePattern() throws Exception
     {
         DateTool dt = new DateTool();
 
-        Locale frFR = new Locale("fr", "FR");
-
         assertEquals("DateTool incorrectly localizes date format pattern",
-                     ((SimpleDateFormat)DateFormat.getTimeInstance(DateFormat.SHORT, frFR)).toLocalizedPattern(),
-                     dt.toLocalizedPattern("short_time", frFR));
+                     ((SimpleDateFormat)DateFormat.getTimeInstance(DateFormat.SHORT, TEST_LOCALE)).toLocalizedPattern(),
+                     dt.toLocalizedPattern("short_time", TEST_LOCALE));
     }
 
     public @Test void toIsoFormat() throws Exception
     {
         DateTool dt = new DateTool();
-        Date date = new Date();
-        dt.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date), dt.format("iso", date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").format(date), dt.format("iso_tz",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date), dt.format("intl",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date) + " Europe/Paris", dt.format("intl_tz",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd").format(date), dt.format("iso_date",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("yyyy-MM-dd").format(date), dt.format("intl_date",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("HH:mm:ss").format(date), dt.format("iso_time",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("HH:mm:ss").format(date), dt.format("intl_time",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("HH:mm:ssXXX").format(date), dt.format("iso_tz_time",date));
-        assertEquals("DateTool incorrectly formatted iso format", new SimpleDateFormat("HH:mm:ss").format(date) + " Europe/Paris", dt.format("intl_tz_time",date));
+
+        dt.setLocale(TEST_LOCALE);
+        dt.setTimeZone(TEST_TIME_ZONE);
+
+        Calendar cal = Calendar.getInstance();
+        cal.setTimeZone(TEST_TIME_ZONE);
+
+        Date date = cal.getTime();
+        SimpleDateFormat format = new SimpleDateFormat();
+        format.setCalendar(cal);
+
+        format.applyPattern("yyyy-MM-dd'T'HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("iso", date));
+
+        format.applyPattern("yyyy-MM-dd'T'HH:mm:ssXXX");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("iso_tz",date));
+
+        format.applyPattern("yyyy-MM-dd HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("intl",date));
+
+        format.applyPattern("yyyy-MM-dd HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date) + " " + TEST_TIME_ZONE.getID(), dt.format("intl_tz",date));
+
+        format.applyPattern("yyyy-MM-dd");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("iso_date",date));
+
+        format.applyPattern("yyyy-MM-dd");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("intl_date",date));
+
+        format.applyPattern("HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format",format.format(date), dt.format("iso_time",date));
+
+        format.applyPattern("HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("intl_time",date));
+
+        format.applyPattern("HH:mm:ssXXX");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date), dt.format("iso_tz_time",date));
+
+        format.applyPattern("HH:mm:ss");
+        assertEquals("DateTool incorrectly formatted iso format", format.format(date) + " " + TEST_TIME_ZONE.getID(), dt.format("intl_tz_time",date));
     }
 }