# HG changeset patch # User peytoia # Date 1399504945 -32400 # Node ID 094b5d3c7159378ca8c3896f5302fd1ba7b4e9d0 # Parent 6a4ef8dfe5c7b1be8b36d992a362911ec5788c17 8042360: Subtag syntax check is incomplete in Locale.LanguageRange Reviewed-by: naoto, okutsu diff -r 6a4ef8dfe5c7 -r 094b5d3c7159 jdk/src/share/classes/java/util/Locale.java --- a/jdk/src/share/classes/java/util/Locale.java Wed May 07 11:45:31 2014 -0700 +++ b/jdk/src/share/classes/java/util/Locale.java Thu May 08 08:22:25 2014 +0900 @@ -2904,8 +2904,8 @@ for (int i = 1; i < subtags.length; i++) { if (isSubtagIllFormed(subtags[i], false)) { isIllFormed = true; + break; } - break; } } if (isIllFormed) { diff -r 6a4ef8dfe5c7 -r 094b5d3c7159 jdk/test/java/util/Locale/Bug7069824.java --- a/jdk/test/java/util/Locale/Bug7069824.java Wed May 07 11:45:31 2014 -0700 +++ b/jdk/test/java/util/Locale/Bug7069824.java Thu May 08 08:22:25 2014 +0900 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,7 +23,7 @@ /* * @test - * @bug 7069824 + * @bug 7069824 8042360 * @summary Verify implementation for Locale matching. * @run main Bug7069824 */ @@ -91,6 +91,17 @@ String range; double weight; + // Testcase for 8042360 + range = "en-Latn-1234567890"; + try { + lr = new LanguageRange(range); + error = true; + System.err.println(" IAE should be thrown for LanguageRange(" + + range + ")."); + } + catch (IllegalArgumentException ex) { + } + range = null; try { lr = new LanguageRange(range);