From b97092d73e888ff8cdc174bb93ddbbd434b476d2 Mon Sep 17 00:00:00 2001 From: Maicol <79454487+maicolantali@users.noreply.github.com> Date: Fri, 16 Dec 2022 21:18:32 +0200 Subject: [PATCH] Rewrite the `testParsingDatesFormattedWithSystemLocale()`, Fix #2199 (#2287) * Rewrite the `testParsingDatesFormattedWithSystemLocale()`, Fix #2199 * Format the test * Format the code following Google Java Style Guide * Revert "Format the code following Google Java Style Guide" This reverts commit f5e2e16b290a4bed09ed7fcc162d4a2529fe4c38. (cherry picked from commit 6c12ded70ddfe47b0412fbb6d8a3ff970518ce2b) --- .../bind/DefaultDateTypeAdapterTest.java | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/gson/src/test/java/com/google/gson/internal/bind/DefaultDateTypeAdapterTest.java b/gson/src/test/java/com/google/gson/internal/bind/DefaultDateTypeAdapterTest.java index 35bc14c200..9c7130b851 100644 --- a/gson/src/test/java/com/google/gson/internal/bind/DefaultDateTypeAdapterTest.java +++ b/gson/src/test/java/com/google/gson/internal/bind/DefaultDateTypeAdapterTest.java @@ -77,32 +77,35 @@ private void assertFormattingAlwaysEmitsUsLocale(Locale locale) { } public void testParsingDatesFormattedWithSystemLocale() throws Exception { - // TODO(eamonnmcmanus): fix this test, which fails on JDK 8 and 17 - if (JavaVersion.getMajorJavaVersion() != 11) { - return; - } TimeZone defaultTimeZone = TimeZone.getDefault(); TimeZone.setDefault(TimeZone.getTimeZone("UTC")); Locale defaultLocale = Locale.getDefault(); Locale.setDefault(Locale.FRANCE); try { - String afterYearSep1 = JavaVersion.isJava9OrLater() ? JavaVersion.getMajorJavaVersion() < 16 ? " à " : ", " : " "; - String afterYearSep2 = JavaVersion.isJava9OrLater() ? " à " : " "; - assertParsed(String.format("1 janv. 1970%s00:00:00", afterYearSep1), + Date date = new Date(0); + assertParsed( + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(date), DateType.DATE.createDefaultsAdapterFactory()); - assertParsed("01/01/70", DateType.DATE.createAdapterFactory(DateFormat.SHORT)); - assertParsed("1 janv. 1970", DateType.DATE.createAdapterFactory(DateFormat.MEDIUM)); - assertParsed("1 janvier 1970", DateType.DATE.createAdapterFactory(DateFormat.LONG)); - assertParsed("01/01/70 00:00", + assertParsed( + DateFormat.getDateInstance(DateFormat.SHORT).format(date), + DateType.DATE.createAdapterFactory(DateFormat.SHORT)); + assertParsed( + DateFormat.getDateInstance(DateFormat.MEDIUM).format(date), + DateType.DATE.createAdapterFactory(DateFormat.MEDIUM)); + assertParsed( + DateFormat.getDateInstance(DateFormat.LONG).format(date), + DateType.DATE.createAdapterFactory(DateFormat.LONG)); + assertParsed( + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(date), DateType.DATE.createAdapterFactory(DateFormat.SHORT, DateFormat.SHORT)); - assertParsed(String.format("1 janv. 1970%s00:00:00", afterYearSep1), + assertParsed( + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(date), DateType.DATE.createAdapterFactory(DateFormat.MEDIUM, DateFormat.MEDIUM)); - assertParsed(String.format("1 janvier 1970%s00:00:00 UTC", afterYearSep2), + assertParsed( + DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(date), DateType.DATE.createAdapterFactory(DateFormat.LONG, DateFormat.LONG)); - assertParsed(JavaVersion.isJava9OrLater() ? (JavaVersion.getMajorJavaVersion() < 11 ? - "jeudi 1 janvier 1970 à 00:00:00 Coordinated Universal Time" : - "jeudi 1 janvier 1970 à 00:00:00 Temps universel coordonné") : - "jeudi 1 janvier 1970 00 h 00 UTC", + assertParsed( + DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(date), DateType.DATE.createAdapterFactory(DateFormat.FULL, DateFormat.FULL)); } finally { TimeZone.setDefault(defaultTimeZone);