1 /* 2 * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 4518811 27 * @modules jdk.localedata 28 * @summary Verifies the minimum days of the week for euro locales 29 */ 30 31 // this code is a bit brute-force, but I've been coding in nothing but Shell for the last year, so I'm rusty. 32 33 import java.util.Locale; 34 import java.util.Calendar; 35 36 public class Bug4518811 { main(String [] args)37 public static void main(String [] args) { 38 39 int totalErrors=0; 40 41 // go through the locales 42 totalErrors += getDays("ca", "ES"); 43 totalErrors += getDays("cs", "CZ"); 44 totalErrors += getDays("da", "DK"); 45 totalErrors += getDays("de", "AT"); 46 totalErrors += getDays("el", "GR"); 47 totalErrors += getDays("en", "GB"); 48 totalErrors += getDays("en", "IE"); 49 totalErrors += getDays("es", "ES"); 50 totalErrors += getDays("et", "EE"); 51 totalErrors += getDays("fi", "FI"); 52 totalErrors += getDays("fr", "BE"); 53 totalErrors += getDays("fr", "FR"); 54 totalErrors += getDays("is", "IS"); 55 totalErrors += getDays("lt", "LT"); 56 totalErrors += getDays("nl", "BE"); 57 totalErrors += getDays("pl", "PL"); 58 totalErrors += getDays("pt", "PT"); 59 60 if (totalErrors > 0) 61 throw new RuntimeException(); 62 //System.err.println("Minimal Days in First Week: "+c.getMinimalDaysInFirstWeek()); 63 } 64 getDays(String lang, String loc)65 static int getDays(String lang, String loc){ 66 int errors=0; 67 Locale newlocale = new Locale(lang, loc); 68 69 Calendar newCal = Calendar.getInstance(newlocale); 70 71 int minDays = newCal.getMinimalDaysInFirstWeek(); 72 System.out.println("The Min Days in First Week for "+ lang +"_" + loc + " is " + minDays); 73 74 if (minDays != 4){ 75 System.out.println("Warning! Should be 4, not " + minDays +"!"); 76 errors++; 77 } 78 return errors; 79 } 80 } 81