< prev index next >

test/java/util/TimeZone/CheckDisplayNames.java

Print this page

        

@@ -21,11 +21,11 @@
  * questions.
  */
 
 /*
  * @test
- * @bug 6405639 8008577
+ * @bug 6405639 8008577 8151876
  * @summary Validate timezone display names in
  *          src/java.base/share/classes/sun/util/resources/TimeZoneNames.java.
  * @modules java.base/sun.util.resources
  * @compile -XDignore.symbol.file CheckDisplayNames.java
  * @run main/othervm -Djava.locale.providers=COMPAT,SPI CheckDisplayNames

@@ -51,10 +51,21 @@
     private static boolean err = false;
     private static boolean src = false;
 
     private static Locale[] locales = Locale.getAvailableLocales();
     private static String[] zones = TimeZone.getAvailableIDs();
+    private static List<String> newGMTzones = new ArrayList<>();
+    
+    public static void setNewGMTzones() {
+        for (String zone : zones) {
+            String shortName = TimeZone.getTimeZone(zone).getDisplayName(false, TimeZone.SHORT);
+            String longName = TimeZone.getTimeZone(zone).getDisplayName(false, TimeZone.LONG);
+            if (!(zone.contains("GMT+") || zone.contains("GMT-")) && shortName.equals(longName)) {
+                newGMTzones.add(TimeZone.getTimeZone(zone).getDisplayName());
+            }
+        }
+    }
 
     private static String[] zones_118 = {
         "ACT",  "Australia/Darwin",
         "AET",  "Australia/Sydney",
         "AGT",  "America/Buenos_Aires",

@@ -94,10 +105,11 @@
         try {
             if (argv.length == 1 && "-source".equals(argv[0])) {
                 src = true;
             }
 
+            setNewGMTzones();
             testDisplayNames();
             testRAWoffsetAndDisplayNames();
             test118DisplayNames();
 
             if (err) {

@@ -152,11 +164,11 @@
             }
 
             TimeZone tz = TimeZone.getTimeZone(id);
             String name = tz.getDisplayName();
 
-            if (name == null || name.startsWith("GMT+") || name.startsWith("GMT-")) {
+            if ((name == null || name.startsWith("GMT+") || name.startsWith("GMT-")) && !newGMTzones.contains(name)) {
                 if (src) {
                     System.out.println("\t    {\"" + tz.getID() + "\", " +
                                        "new String[] {\"Standard Time Name\", \"ST\",\n" +
                                        "\t\t\t\t\t\t\"Daylight Time Name\", \"DT\"}},");
                 } else {
< prev index next >