# HG changeset patch # User naoto # Date 1313604560 25200 # Node ID 80d9f4bc094b5fb773dce3a2300eb6ddc347f494 # Parent ffaa7122547c412a1b60d6f8675a9137870a5d7f 7079486: Locale.getDisplayScript() (no args) does not honor default DISPLAY locale Reviewed-by: okutsu diff -r ffaa7122547c -r 80d9f4bc094b jdk/src/share/classes/java/util/Locale.java --- a/jdk/src/share/classes/java/util/Locale.java Wed Aug 17 11:09:06 2011 -0700 +++ b/jdk/src/share/classes/java/util/Locale.java Wed Aug 17 11:09:20 2011 -0700 @@ -1589,7 +1589,7 @@ * @since 1.7 */ public String getDisplayScript() { - return getDisplayScript(getDefault()); + return getDisplayScript(getDefault(Category.DISPLAY)); } /** diff -r ffaa7122547c -r 80d9f4bc094b jdk/test/java/util/Locale/LocaleCategory.java --- a/jdk/test/java/util/Locale/LocaleCategory.java Wed Aug 17 11:09:06 2011 -0700 +++ b/jdk/test/java/util/Locale/LocaleCategory.java Wed Aug 17 11:09:20 2011 -0700 @@ -56,6 +56,7 @@ Locale.getDefault().getVariant())).build(); checkDefault(); testGetSetDefault(); + testBug7079486(); } finally { // restore the reserved locale Locale.setDefault(reservedLocale); @@ -82,5 +83,24 @@ throw new RuntimeException("setDefault() should set all default locales for all categories"); } } + + static void testBug7079486() { + Locale zh_Hans_CN = Locale.forLanguageTag("zh-Hans-CN"); + + // make sure JRE has zh_Hans_CN localized string + if (zh_Hans_CN.getDisplayScript(Locale.US).equals(zh_Hans_CN.getDisplayScript(zh_Hans_CN))) { + return; + } + + Locale.setDefault(Locale.US); + String en_script = zh_Hans_CN.getDisplayScript(); + + Locale.setDefault(Locale.Category.DISPLAY, zh_Hans_CN); + String zh_script = zh_Hans_CN.getDisplayScript(); + + if (en_script.equals(zh_script)) { + throw new RuntimeException("Locale.getDisplayScript() (no args) does not honor default DISPLAY locale"); + } + } } diff -r ffaa7122547c -r 80d9f4bc094b jdk/test/java/util/Locale/LocaleCategory.sh --- a/jdk/test/java/util/Locale/LocaleCategory.sh Wed Aug 17 11:09:06 2011 -0700 +++ b/jdk/test/java/util/Locale/LocaleCategory.sh Wed Aug 17 11:09:20 2011 -0700 @@ -1,7 +1,7 @@ #!/bin/sh # # @test -# @bug 4700857 6997928 +# @bug 4700857 6997928 7079486 # @summary tests for Locale.getDefault(Locale.Category) and # Locale.setDefault(Locale.Category, Locale) # @build LocaleCategory