Skip to content

Commit 6358eb3

Browse files
committed
date parsing tests fail when system default TZ is GMT-04 or farther west fix jooby-project#641
1 parent f9e5215 commit 6358eb3

File tree

1 file changed

+19
-30
lines changed

1 file changed

+19
-30
lines changed

jooby/src/test/java/org/jooby/internal/ParamConverterTest.java

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,27 @@
11
package org.jooby.internal;
22

3-
import static org.easymock.EasyMock.createMock;
4-
import static org.junit.Assert.assertEquals;
5-
import static org.junit.Assert.assertNotNull;
6-
import static org.junit.Assert.assertTrue;
3+
import com.google.common.collect.ImmutableList;
4+
import com.google.common.collect.Lists;
5+
import com.google.common.collect.Sets;
6+
import com.google.inject.Injector;
7+
import com.google.inject.TypeLiteral;
8+
import com.google.inject.util.Types;
9+
import com.typesafe.config.ConfigFactory;
10+
import org.jooby.MediaType;
11+
import org.jooby.internal.parser.*;
12+
import org.junit.Test;
713

814
import java.math.BigDecimal;
915
import java.math.BigInteger;
1016
import java.nio.charset.Charset;
1117
import java.text.SimpleDateFormat;
1218
import java.time.LocalDate;
19+
import java.time.ZoneId;
1320
import java.time.format.DateTimeFormatter;
14-
import java.util.Arrays;
15-
import java.util.Calendar;
16-
import java.util.Date;
17-
import java.util.List;
18-
import java.util.Locale;
19-
import java.util.Optional;
20-
import java.util.SortedSet;
21-
import java.util.UUID;
21+
import java.util.*;
2222

23-
import org.jooby.MediaType;
24-
import org.jooby.internal.parser.DateParser;
25-
import org.jooby.internal.parser.LocalDateParser;
26-
import org.jooby.internal.parser.LocaleParser;
27-
import org.jooby.internal.parser.ParserExecutor;
28-
import org.jooby.internal.parser.StaticMethodParser;
29-
import org.jooby.internal.parser.StringConstructorParser;
30-
import org.junit.Test;
31-
32-
import com.google.common.collect.ImmutableList;
33-
import com.google.common.collect.Lists;
34-
import com.google.common.collect.Sets;
35-
import com.google.inject.Injector;
36-
import com.google.inject.TypeLiteral;
37-
import com.google.inject.util.Types;
38-
import com.typesafe.config.ConfigFactory;
23+
import static org.easymock.EasyMock.*;
24+
import static org.junit.Assert.*;
3925

4026
public class ParamConverterTest {
4127

@@ -135,7 +121,9 @@ public void shouldConvertToDateFromLong() throws Throwable {
135121
ParserExecutor resolver = newParser();
136122
Date date = resolver.convert(TypeLiteral.get(Date.class), data("1393038000000"));
137123
assertNotNull(date);
138-
assertEquals("22/02/2014", new SimpleDateFormat("dd/MM/yyyy").format(date));
124+
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
125+
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
126+
assertEquals("22/02/2014", simpleDateFormat.format(date));
139127
}
140128

141129
@Test
@@ -399,7 +387,8 @@ private ParserExecutor newParser() {
399387
BuiltinParser.Optional,
400388
BuiltinParser.Enum,
401389
new DateParser("dd/MM/yyyy"),
402-
new LocalDateParser(DateTimeFormatter.ofPattern("dd/MM/yyyy")),
390+
new LocalDateParser(
391+
DateTimeFormatter.ofPattern("dd/MM/yyyy").withZone(ZoneId.of("UTC"))),
403392
new LocaleParser(),
404393
new StaticMethodParser("valueOf"),
405394
new StringConstructorParser(),

0 commit comments

Comments
 (0)