# HG changeset patch # User naoto # Date 1561736897 25200 # Node ID 33766821f7386e914c125029ff0073bbd67054ab # Parent bad3754349aaae59bfb60586af7066d12fcd6732 8226876: Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960 Reviewed-by: clanger diff -r bad3754349aa -r 33766821f738 src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java --- a/src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java Thu Jun 27 10:39:27 2019 +0200 +++ b/src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java Fri Jun 28 08:48:17 2019 -0700 @@ -249,9 +249,15 @@ switch (requestID) { case FIRST_DAY_OF_WEEK: value = calendarDataProvider.getFirstDayOfWeek(locale); + if (value == 0) { + value = MONDAY; // default for the world ("001") + } break; case MINIMAL_DAYS_IN_FIRST_WEEK: value = calendarDataProvider.getMinimalDaysInFirstWeek(locale); + if (value == 0) { + value = 1; // default for the world ("001") + } break; default: throw new InternalError("invalid requestID: " + requestID); diff -r bad3754349aa -r 33766821f738 test/jdk/sun/util/locale/provider/CalendarDataRegression.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/jdk/sun/util/locale/provider/CalendarDataRegression.java Fri Jun 28 08:48:17 2019 -0700 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2019, 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8226876 + * @summary Test CalendarDataUtility class not throwing AssertionError + * @run main/othervm -ea -esa -Djava.locale.providers=HOST CalendarDataRegression + */ + +import java.text.DateFormat; +import java.util.Locale; + +public class CalendarDataRegression { + public static void main(String[] args) { + // Host locale provider on Windows returns 0 for + // firstDayOfWeek/minimalDaysInFirstWeek, which should + // default to non-zero value. Otherwise AssertionError + // will be thrown. + DateFormat.getDateInstance(DateFormat.FULL, Locale.US); + } +}