--- old/make/src/classes/build/tools/cldrconverter/CalendarType.java 2019-03-01 15:24:31.941825700 +0530 +++ new/make/src/classes/build/tools/cldrconverter/CalendarType.java 2019-03-01 15:24:30.893279200 +0530 @@ -38,7 +38,7 @@ // start index, array length {0, 2}, // gregorian {0, 1}, // buddhist - {232, 4}, // japanese (eras from Meiji) + {232, 5}, // japanese (eras from Meiji) {0, 2}, // roc (Minguo) {0, 1}, // islamic (Hijrah) {0, 1}, // islamicc (same as islamic) --- old/src/share/classes/sun/util/cldr/resources/21_0_1/common/main/ja.xml 2019-03-01 15:24:39.097489000 +0530 +++ new/src/share/classes/sun/util/cldr/resources/21_0_1/common/main/ja.xml 2019-03-01 15:24:38.081180500 +0530 @@ -2410,6 +2410,7 @@ 大正 昭和 平成 + 元号 --- old/src/share/classes/sun/util/cldr/resources/21_0_1/common/main/root.xml 2019-03-01 15:24:46.128009800 +0530 +++ new/src/share/classes/sun/util/cldr/resources/21_0_1/common/main/root.xml 2019-03-01 15:24:45.064045400 +0530 @@ -1657,12 +1657,14 @@ Taishō Shōwa Heisei + NewEra M T S H + N --- old/test/java/util/Calendar/JapaneseEraNameTest.java 2019-03-01 15:24:52.752680300 +0530 +++ new/test/java/util/Calendar/JapaneseEraNameTest.java 2019-03-01 15:24:51.738356000 +0530 @@ -23,11 +23,11 @@ /* * @test - * @bug 8202088 + * @bug 8202088 8207152 8217609 * @summary Test the localized Japanese new era name (May 1st. 2019-) * is retrieved no matter CLDR provider contains the name or not. - * @run testng/othervm JapaneseEraNameTest - * @run testng/othervm -Djava.locale.providers=CLDR,JRE JapaneseEraNameTest + * @run main/othervm -Djava.locale.providers=CLDR JapaneseEraNameTest + * */ import static java.util.Calendar.*; @@ -35,30 +35,30 @@ import java.util.Calendar; import java.util.Locale; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; -import static org.testng.Assert.assertEquals; -@Test public class JapaneseEraNameTest { static final Calendar c = new Calendar.Builder() .setCalendarType("japanese") .setFields(ERA, 5, YEAR, 1, MONTH, MAY, DAY_OF_MONTH, 1) .build(); - @DataProvider(name="names") - Object[][] names() { - return new Object[][] { - // type, locale, name - { LONG, JAPAN, "\u5143\u53f7" }, // NewEra - { LONG, US, "NewEra" }, - { SHORT, JAPAN, "N" }, - { SHORT, US, "N" }, - }; - } - @Test(dataProvider="names") - public void testJapaneseNewEraName(int type, Locale locale, String expected) { - assertEquals(c.getDisplayName(ERA, type, locale), expected); + static final Object[][] names = { + //{ LONG, JAPAN, "\u5143\u53f7" }, + { LONG, US, "NewEra" }, + { SHORT,JAPAN, "\u5143\u53f7" },// NewEra + { SHORT,US, "NewEra" }, + }; + + public static void main(String[] args) { + for (Object[] data : names) { + if(!c.getDisplayName(ERA, (int)data[0], (Locale)data[1]). + equals(data[2])) + { + throw new RuntimeException( + "JapaneseEraNameTest failed for " + + String.format("%1$s %2$s %3$s", data[0], data[1], data[2])); + } + } } }