< prev index next >

test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java

Print this page
rev 57986 : 8234347: "Turkey" meta time zone does not generate composed localized names
8236548: Localized time zone name inconsistency between English and other locales
Reviewed-by:

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -21,23 +21,26 @@
  * questions.
  */
 
  /*
  * @test
- * @bug 8181157 8202537
+ * @bug 8181157 8202537 8234347 8236548
  * @modules jdk.localedata
  * @summary Checks CLDR time zone names are generated correctly at runtime
  * @run testng/othervm -Djava.locale.providers=CLDR TimeZoneNamesTest
  */
 
-import static org.testng.Assert.assertEquals;
-
+import java.text.DateFormatSymbols;
 import java.time.ZoneId;
 import java.time.format.TextStyle;
+import java.util.Arrays;
 import java.util.Locale;
+import java.util.Objects;
 import java.util.TimeZone;
 
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
 @Test
 public class TimeZoneNamesTest {

@@ -49,95 +52,130 @@
 
             // This list is as of CLDR version 33, and should be examined
             // on the CLDR data upgrade.
 
             // no "metazone" zones
-            {"Asia/Srednekolymsk",      Locale.US, "Srednekolymsk Time",
-                                                    "SRET",
+            {"Asia/Srednekolymsk",      Locale.US, "Srednekolymsk Standard Time",
+                                                    "GMT+11:00",
                                                     "Srednekolymsk Daylight Time",
-                                                    "SREDT",
+                                                    "GMT+11:00",
                                                     "Srednekolymsk Time",
-                                                    "SRET"},
+                                                    "GMT+11:00"},
             {"Asia/Srednekolymsk",      Locale.FRANCE, "Srednekolymsk (heure standard)",
                                                     "UTC+11:00",
-                                                    "Srednekolymsk (heure standard)",
+                                                    "Srednekolymsk (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+11:00",
                                                     "heure : Srednekolymsk",
                                                     "UTC+11:00"},
             {"America/Punta_Arenas",    Locale.US, "Punta Arenas Standard Time",
                                                     "GMT-03:00",
-                                                    "Punta Arenas Standard Time",
+                                                    "Punta Arenas Daylight Time",
                                                     "GMT-03:00",
                                                     "Punta Arenas Time",
                                                     "GMT-03:00"},
             {"America/Punta_Arenas",    Locale.FRANCE, "Punta Arenas (heure standard)",
                                                     "UTC\u221203:00",
-                                                    "Punta Arenas (heure standard)",
+                                                    "Punta Arenas (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC\u221203:00",
                                                     "heure : Punta Arenas",
                                                     "UTC\u221203:00"},
-            {"Asia/Famagusta",          Locale.US, "Eastern European Time",
-                                                    "EET",
-                                                    "Eastern European Summer Time",
-                                                    "EEST",
-                                                    "Eastern European Time",
-                                                    "EET"},
+            {"Asia/Famagusta",          Locale.US, "Famagusta Standard Time",
+                                                    "GMT+02:00",
+                                                    "Famagusta Daylight Time",
+                                                    "GMT+03:00",
+                                                    "Famagusta Time",
+                                                    "GMT+02:00"},
             {"Asia/Famagusta",          Locale.FRANCE, "Famagouste (heure standard)",
                                                     "UTC+02:00",
-                                                    "Famagouste (heure standard)",
+                                                    "Famagouste (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+03:00",
                                                     "heure : Famagouste",
                                                     "UTC+02:00"},
             {"Europe/Astrakhan",        Locale.US, "Astrakhan Standard Time",
                                                     "GMT+04:00",
-                                                    "Astrakhan Standard Time",
+                                                    "Astrakhan Daylight Time",
                                                     "GMT+04:00",
                                                     "Astrakhan Time",
                                                     "GMT+04:00"},
             {"Europe/Astrakhan",        Locale.FRANCE, "Astrakhan (heure standard)",
                                                     "UTC+04:00",
-                                                    "Astrakhan (heure standard)",
+                                                    "Astrakhan (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+04:00",
                                                     "heure : Astrakhan",
                                                     "UTC+04:00"},
             {"Europe/Saratov",          Locale.US, "Saratov Standard Time",
                                                     "GMT+04:00",
-                                                    "Saratov Standard Time",
+                                                    "Saratov Daylight Time",
                                                     "GMT+04:00",
                                                     "Saratov Time",
                                                     "GMT+04:00"},
             {"Europe/Saratov",          Locale.FRANCE, "Saratov (heure standard)",
                                                     "UTC+04:00",
-                                                    "Saratov (heure standard)",
+                                                    "Saratov (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+04:00",
                                                     "heure : Saratov",
                                                     "UTC+04:00"},
             {"Europe/Ulyanovsk",        Locale.US, "Ulyanovsk Standard Time",
                                                     "GMT+04:00",
-                                                    "Ulyanovsk Standard Time",
+                                                    "Ulyanovsk Daylight Time",
                                                     "GMT+04:00",
                                                     "Ulyanovsk Time",
                                                     "GMT+04:00"},
             {"Europe/Ulyanovsk",        Locale.FRANCE, "Oulianovsk (heure standard)",
                                                     "UTC+04:00",
-                                                    "Oulianovsk (heure standard)",
+                                                    "Oulianovsk (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+04:00",
                                                     "heure : Oulianovsk",
                                                     "UTC+04:00"},
             {"Pacific/Bougainville",    Locale.US, "Bougainville Standard Time",
-                                                    "BST",
+                                                    "GMT+11:00",
                                                     "Bougainville Daylight Time",
-                                                    "BST",
+                                                    "GMT+11:00",
                                                     "Bougainville Time",
-                                                    "BT"},
+                                                    "GMT+11:00"},
             {"Pacific/Bougainville",    Locale.FRANCE, "Bougainville (heure standard)",
                                                     "UTC+11:00",
-                                                    "Bougainville (heure standard)",
+                                                    "Bougainville (heure d\u2019\u00e9t\u00e9)",
                                                     "UTC+11:00",
                                                     "heure : Bougainville",
                                                     "UTC+11:00"},
-
+            {"Europe/Istanbul",    Locale.US, "Istanbul Standard Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Daylight Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Time",
+                                                    "GMT+03:00"},
+            {"Europe/Istanbul",    Locale.FRANCE, "Istanbul (heure standard)",
+                                                    "UTC+03:00",
+                                                    "Istanbul (heure d\u2019\u00e9t\u00e9)",
+                                                    "UTC+03:00",
+                                                    "heure : Istanbul",
+                                                    "UTC+03:00"},
+            {"Asia/Istanbul",    Locale.US, "Istanbul Standard Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Daylight Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Time",
+                                                    "GMT+03:00"},
+            {"Asia/Istanbul",    Locale.FRANCE, "Istanbul (heure standard)",
+                                                    "UTC+03:00",
+                                                    "Istanbul (heure d\u2019\u00e9t\u00e9)",
+                                                    "UTC+03:00",
+                                                    "heure : Istanbul",
+                                                    "UTC+03:00"},
+            {"Turkey",    Locale.US, "Istanbul Standard Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Daylight Time",
+                                                    "GMT+03:00",
+                                                    "Istanbul Time",
+                                                    "GMT+03:00"},
+            {"Turkey",    Locale.FRANCE, "Istanbul (heure standard)",
+                                                    "UTC+03:00",
+                                                    "Istanbul (heure d\u2019\u00e9t\u00e9)",
+                                                    "UTC+03:00",
+                                                    "heure : Istanbul",
+                                                    "UTC+03:00"},
         };
     }
 
 
     @Test(dataProvider="noResourceTZs")

@@ -152,6 +190,22 @@
 
         // generic name
         assertEquals(ZoneId.of(tzid).getDisplayName(TextStyle.FULL, locale), lgen);
         assertEquals(ZoneId.of(tzid).getDisplayName(TextStyle.SHORT, locale), sgen);
     }
+
+    // Make sure getZoneStrings() returns non-empty string array
+    @Test
+    public void test_getZoneStrings() {
+        assertFalse(
+            Arrays.stream(Locale.getAvailableLocales())
+                .peek(l -> System.out.println("Locale: " + l))
+                .map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
+                .flatMap(zs -> Arrays.stream(zs))
+                .peek(names -> System.out.println("    tz: " + names[0]))
+                .flatMap(names -> Arrays.stream(names))
+                .filter(name -> Objects.isNull(name) || name.isEmpty())
+                .findAny()
+                .isPresent(),
+            "getZoneStrings() returned array containing non-empty string element(s)");
+    }
 }
< prev index next >