]> granicus.if.org Git - icu/commitdiff
ICU-21839 Add ICU4J test that ISO8601 inherits patterns/symbols grom Gregorian
authorPeter Edberg <pedberg@unicode.org>
Wed, 9 Mar 2022 23:45:59 +0000 (15:45 -0800)
committerPeter Edberg <42151464+pedberg-icu@users.noreply.github.com>
Thu, 10 Mar 2022 17:37:21 +0000 (09:37 -0800)
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateTimeGeneratorTest.java

index 7e25864e9683510bd36de2c2ef79c1470e008f99..e9cacc658fa2dc15c906ac79ec75534d9f92fff8 100644 (file)
@@ -2004,4 +2004,30 @@ public class DateTimeGeneratorTest extends TestFmwk {
             }
         }
     }
+
+    // Test for ICU-21839: Make sure ISO8601 patterns/symbols are inherited from Gregorian
+    @Test
+    public void testISO8601() {
+        String[] localeIDs = {
+            "de-AT-u-ca-iso8601",
+            "de-CH-u-ca-iso8601",
+        };
+        String skeleton = "jms";
+
+        for (String localeID : localeIDs) {
+            ULocale uloc = ULocale.forLanguageTag(localeID);
+
+            DateTimePatternGenerator dtpg = DateTimePatternGenerator.getInstance(uloc);
+            String pattern = dtpg.getBestPattern(skeleton);
+            if (pattern.contains("├") || pattern.contains("Minute")) {
+                errln("ERROR: locale " + localeID + ", skeleton " + skeleton + ", bad pattern: " + pattern);
+            }
+
+            DateFormat df = DateFormat.getTimeInstance(DateFormat.MEDIUM, uloc);
+            String format = df.format(new Date());
+            if (format.contains("├") || format.contains("Minute")) {
+                errln("ERROR: locale " + localeID + ", MEDIUM, bad format: " + format);
+            }
+        }
+    }
 }