Skip to content

Commit a937685

Browse files
authored
Merge pull request #830 from HubSpot/fix-npe-date-time-format
Prevent NPE for ZoneId.of
2 parents e144dcb + d92f3f8 commit a937685

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/main/java/com/hubspot/jinjava/lib/fn/Functions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public static ZonedDateTime today(String... var) {
161161
public static String dateTimeFormat(Object var, String... format) {
162162
ZoneId zoneOffset = ZoneOffset.UTC;
163163

164-
if (format.length > 1) {
164+
if (format.length > 1 && format[1] != null) {
165165
String timezone = format[1];
166166
try {
167167
zoneOffset = ZoneId.of(timezone);

src/test/java/com/hubspot/jinjava/lib/filter/DateTimeFormatFilterTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,16 @@ public void itDefaultsToEnglishForBadLocaleValues() {
112112
)
113113
.isEqualTo(Functions.dateTimeFormat(d, "%A, %e %B", "UTC", "America/Los_Angeles"));
114114
}
115+
116+
@Test
117+
public void itDefaultsToUtcForNullTimezone() {
118+
interpreter.getContext().put("d", d);
119+
120+
assertThat(
121+
interpreter.renderFlat(
122+
"{{ d|datetimeformat('%A, %e %B, %I:%M %p', null, 'sv') }}"
123+
)
124+
)
125+
.isEqualTo("onsdag, 6 november, 02:22 em");
126+
}
115127
}

0 commit comments

Comments
 (0)