test/java/time/test/java/util/TestFormatter.java
Print this page
*** 21,31 ****
* questions.
*/
package test.java.util;
import java.time.Instant;
! import java.time.temporal.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.util.*;
--- 21,31 ----
* questions.
*/
package test.java.util;
import java.time.Instant;
! import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.util.*;
*** 127,179 ****
private void testDate(String fmtStr, Locale locale,
ZonedDateTime zdt, Calendar cal) {
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
! test(fmtStr, locale, expected, zdt.getDateTime());
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate());
! test(fmtStr, locale, expected, zdt.getDate());
}
private void testTime(String fmtStr, Locale locale,
ZonedDateTime zdt, Calendar cal) {
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
! test(fmtStr, locale, expected, zdt.getDateTime());
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime());
! test(fmtStr, locale, expected, zdt.getTime());
}
private void testZoneId(Locale locale, ZonedDateTime zdt, Calendar cal) {
String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]";
printFmtStr(locale, fmtStr);
! String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
// get a new cal with fixed tz
Calendar cal0 = Calendar.getInstance();
cal0.setTimeInMillis(zdt.toInstant().toEpochMilli());
cal0.setTimeZone(TimeZone.getTimeZone("GMT" + zdt.getOffset().getId()));
! expected = test(fmtStr, locale, null, cal0).replaceAll("GMT", "");
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate());
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime());
// datetime + zid
fmtStr = "c:[%tc] c:[%1$Tc]";
printFmtStr(locale, fmtStr);
! expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
}
private void testInstant(Locale locale, Instant instant,
ZonedDateTime zdt, Calendar cal) {
String fmtStr = "s:[%ts] s:[%1$Ts] Q:[%1$tQ] Q:[%1$TQ]";
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, instant);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
}
}
--- 127,182 ----
private void testDate(String fmtStr, Locale locale,
ZonedDateTime zdt, Calendar cal) {
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, zdt.toOffsetDateTime());
! test(fmtStr, locale, expected, zdt.toLocalDateTime());
! test(fmtStr, locale, expected, zdt.toLocalDate());
}
private void testTime(String fmtStr, Locale locale,
ZonedDateTime zdt, Calendar cal) {
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, zdt.toOffsetDateTime());
! test(fmtStr, locale, expected, zdt.toLocalDateTime());
! test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime());
! test(fmtStr, locale, expected, zdt.toLocalTime());
! }
!
! private String toZoneIdStr(String expected) {
! return expected.replaceAll("(?:GMT|UTC)(?<off>[+\\-]?[0-9]{2}:[0-9]{2})", "${off}")
! .replaceAll("GMT|UTC|UT", "Z");
}
private void testZoneId(Locale locale, ZonedDateTime zdt, Calendar cal) {
String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]";
printFmtStr(locale, fmtStr);
! String expected = toZoneIdStr(test(fmtStr, locale, null, cal));
test(fmtStr, locale, expected, zdt);
// get a new cal with fixed tz
Calendar cal0 = Calendar.getInstance();
cal0.setTimeInMillis(zdt.toInstant().toEpochMilli());
cal0.setTimeZone(TimeZone.getTimeZone("GMT" + zdt.getOffset().getId()));
! expected = toZoneIdStr(test(fmtStr, locale, null, cal0));
! test(fmtStr, locale, expected, zdt.toOffsetDateTime());
! test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime());
// datetime + zid
fmtStr = "c:[%tc] c:[%1$Tc]";
printFmtStr(locale, fmtStr);
! expected = toZoneIdStr(test(fmtStr, locale, null, cal));
test(fmtStr, locale, expected, zdt);
}
private void testInstant(Locale locale, Instant instant,
ZonedDateTime zdt, Calendar cal) {
String fmtStr = "s:[%ts] s:[%1$Ts] Q:[%1$tQ] Q:[%1$TQ]";
printFmtStr(locale, fmtStr);
String expected = test(fmtStr, locale, null, cal);
test(fmtStr, locale, expected, instant);
test(fmtStr, locale, expected, zdt);
! test(fmtStr, locale, expected, zdt.toOffsetDateTime());
}
}