Skip to content

Commit 60eea52

Browse files
authored
Test dataformat-joda#92 (#369)
1 parent e18531f commit 60eea52

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

datetime/src/test/java/com/fasterxml/jackson/datatype/jsr310/ser/ZonedDateTimeSerTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -975,6 +975,30 @@ public void testShapeInt() throws JsonProcessingException {
975975
assertEquals("{\"t1\":1651053600000,\"t2\":1651053600.000000000}", json1);
976976
}
977977

978+
// [dataformat-joda#92] DateTime serialization result is not same as Java 8 ZonedDateTime
979+
@Test
980+
public void testSerializationWithZoneWithDefaultTimeZone() throws Exception
981+
{
982+
ZonedDateTime java8ZonedDateTime = ZonedDateTime.of(2023, 10, 1, 12, 0, 0, 0,
983+
ZoneId.of("Asia/Shanghai"));
984+
985+
// Without WRITE_DATES_WITH_CONTEXT_TIME_ZONE
986+
assertEquals("\"2023-10-01T12:00:00+08:00\"",
987+
MAPPER.writer()
988+
.with(TimeZone.getTimeZone("UTC"))
989+
.without(SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE)
990+
.without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
991+
.writeValueAsString(java8ZonedDateTime));
992+
993+
// With WRITE_DATES_WITH_CONTEXT_TIME_ZONE
994+
assertEquals("\"2023-10-01T04:00:00Z\"",
995+
MAPPER.writer()
996+
.with(TimeZone.getTimeZone("UTC"))
997+
.with(SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE)
998+
.without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
999+
.writeValueAsString(java8ZonedDateTime));
1000+
}
1001+
9781002
private static void assertIsEqual(ZonedDateTime expected, ZonedDateTime actual)
9791003
{
9801004
assertTrue(expected.isEqual(actual),

0 commit comments

Comments
 (0)