Skip to content

Commit

Permalink
Fix tests so they pass in other time zones.
Browse files Browse the repository at this point in the history
  • Loading branch information
Anthony D. Urso committed Nov 8, 2010
1 parent 796d8b6 commit 6b31154
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
8 changes: 5 additions & 3 deletions src/java/sizzle/functions/SizzleTimeIntrinsics.java
Expand Up @@ -45,8 +45,8 @@ public class SizzleTimeIntrinsics {
SizzleTimeIntrinsics.strftimeMap.put('Z', new SimpleDateFormat("zzz"));
}

private static long addPart(final int part, final long t, final long n, final TimeZone timeZone) {
final Calendar calendar = Calendar.getInstance(timeZone);
private static long addPart(final int part, final long t, final long n, final TimeZone tz) {
final Calendar calendar = Calendar.getInstance(tz);

calendar.setTimeInMillis(t / 1000);

Expand Down Expand Up @@ -837,7 +837,9 @@ private static String formatTime(final String formatstring, final long t, final
default:
if (inEscape) {
if (SizzleTimeIntrinsics.strftimeMap.containsKey(Character.valueOf(c))) {
sb.append(SizzleTimeIntrinsics.strftimeMap.get(Character.valueOf(c)).format(calendar.getTime()));
final SimpleDateFormat simpleDateFormat = SizzleTimeIntrinsics.strftimeMap.get(Character.valueOf(c));
simpleDateFormat.setTimeZone(tz);
sb.append(simpleDateFormat.format(calendar.getTime()));
} else {
throw new RuntimeException("invalid escape string: %" + c);
}
Expand Down
9 changes: 4 additions & 5 deletions src/test/sizzle/functions/TestSizzleTimeIntrinsics.java
Expand Up @@ -14,8 +14,7 @@ public void testSizzleTimeIntrinsicsAddDay() {
calendar.set(2001, 1, 28, 0, 0, 0);
final long t = calendar.getTimeInMillis() * 1000;

Assert.assertEquals("addDay is wrong", "Thu Mar 1 00:00:00 2001",
SizzleTimeIntrinsics.formatTime("%c", SizzleTimeIntrinsics.addDay(t, 1, "PST8PDT"), "PST8PDT"));
Assert.assertEquals("addDay is wrong", "Thu Mar 1 00:00:00 2001", SizzleTimeIntrinsics.formatTime("%c", SizzleTimeIntrinsics.addDay(t, 1)));
}

@Test
Expand All @@ -24,13 +23,13 @@ public void testSizzleTimeIntrinsicsDayOfMonth() {
calendar.set(2001, 1, 28, 0, 0, 0);
final long t = calendar.getTimeInMillis() * 1000;

Assert.assertEquals("dayOfMonth is wrong", 28, SizzleTimeIntrinsics.dayOfMonth(t, "PST8PDT"));
Assert.assertEquals("dayOfMonth is wrong", 28, SizzleTimeIntrinsics.dayOfMonth(t));
}

@Test
public void testSizzleTimeIntrinsicsTruncateToDay() {
Assert.assertEquals("truncateToDay is wrong", "Fri Feb 13 00:00:00 2009",
SizzleTimeIntrinsics.formatTime("%c", SizzleTimeIntrinsics.truncToDay(1234567890000000l, "PST8PDT"), "PST8PDT"));
SizzleTimeIntrinsics.formatTime("%c", SizzleTimeIntrinsics.truncToDay(1234567890000000l)));
}

@Test
Expand All @@ -40,6 +39,6 @@ public void testSizzleTimeIntrinsicsFormatTime() {
final long t = calendar.getTimeInMillis() * 1000;

Assert.assertEquals("formatTime is wrong", "% That was Wed Feb 28 00:00:00 2001 in timezone PST %",
SizzleTimeIntrinsics.formatTime("%% That was %c in timezone %Z %%", t, "PST8PDT"));
SizzleTimeIntrinsics.formatTime("%% That was %c in timezone %Z %%", t));
}
}

0 comments on commit 6b31154

Please sign in to comment.