Skip to content

Commit edea41d

Browse files
author
Dai MIKURUBE
committed
Add tests with parsing zones
1 parent cf15294 commit edea41d

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

src/test/java/org/embulk/util/rubytime/TestRubyDateTimeFormatterParse.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,36 @@ public void testDefaultOffsets() {
522522
OffsetDateTime.of(2100, 2, 28, 20, 0, 0, 0, ZoneOffset.UTC).toInstant());
523523
}
524524

525+
@Test
526+
public void testDefaultOffsetsWithZoneParsed() {
527+
assertEquals(
528+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S%Z", ZoneOffset.ofHours(12)).parse("2000-03-01T05:00:00Z")),
529+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
530+
assertEquals(
531+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S%z", ZoneOffset.ofHours(4)).parse("2000-03-01T05:00:00Z")),
532+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
533+
assertEquals(
534+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S%:z", ZoneOffset.ofHours(-1)).parse("2000-03-01T05:00:00Z")),
535+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
536+
assertEquals(
537+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S%::z", ZoneOffset.ofHours(-9)).parse("2000-03-01T05:00:00Z")),
538+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
539+
assertEquals(
540+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S%:::z", ZoneOffset.ofHours(9)).parse("2000-03-01T05:00:00Z")),
541+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
542+
543+
assertEquals(
544+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S %Z", ZoneOffset.ofHours(5)).parse("2000-03-01T05:00:00 UTC")),
545+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
546+
assertEquals(
547+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S %z", ZoneOffset.ofHours(3)).parse("2000-03-01T05:00:00 UTC")),
548+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.UTC).toInstant());
549+
550+
assertEquals(
551+
Instant.from(createOffsetFormatter("%Y-%m-%dT%H:%M:%S %Z", ZoneOffset.ofHours(5)).parse("2000-03-01T05:00:00 -03:00")),
552+
OffsetDateTime.of(2000, 3, 1, 5, 0, 0, 0, ZoneOffset.ofHours(-3)).toInstant());
553+
}
554+
525555
private static TemporalAccessor strptime(final String string, final String format) {
526556
final RubyDateTimeFormatter formatter = RubyDateTimeFormatter.ofPattern(format);
527557
return formatter.parseUnresolved(string);

0 commit comments

Comments
 (0)