changeset 7140:3d9f25dc630c

8013233: java/util/Locale/LocaleProviders.sh fails Reviewed-by: okutsu
author naoto
date Wed, 15 May 2013 16:48:54 -0700
parents bad8f5237f10
children 59357ea7f131
files test/java/util/Locale/LocaleProviders.java test/java/util/Locale/LocaleProviders.sh
diffstat 2 files changed, 51 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/test/java/util/Locale/LocaleProviders.java	Wed May 15 09:54:30 2013 -0700
+++ b/test/java/util/Locale/LocaleProviders.java	Wed May 15 16:48:54 2013 -0700
@@ -118,27 +118,67 @@
         if (System.getProperty("os.name").startsWith("Windows")) {
             NumberFormat nf = NumberFormat.getInstance(Locale.US);
             try {
-                double ver = nf.parse(System.getProperty("os.version")).doubleValue();
+                double ver = nf.parse(System.getProperty("os.version"))
+                               .doubleValue();
                 System.out.printf("Windows version: %.1f\n", ver);
                 if (ver >= 6.0) {
-                    LocaleProviderAdapter lda = LocaleProviderAdapter.getAdapter(LocaleNameProvider.class, Locale.ENGLISH);
+                    LocaleProviderAdapter lda =
+                        LocaleProviderAdapter.getAdapter(
+                            LocaleNameProvider.class, Locale.ENGLISH);
                     LocaleProviderAdapter.Type type = lda.getAdapterType();
                     if (type == LocaleProviderAdapter.Type.HOST) {
+                        LocaleNameProvider lnp = lda.getLocaleNameProvider();
                         Locale mkmk = Locale.forLanguageTag("mk-MK");
                         String result = mkmk.getDisplayLanguage(Locale.ENGLISH);
-                        if (!"Macedonian (FYROM)".equals(result)) {
-                            throw new RuntimeException("Windows locale name provider did not return expected localized language name for \"mk\". Returned name was \"" + result + "\"");
+                        String hostResult =
+                            lnp.getDisplayLanguage(mkmk.getLanguage(),
+                                                   Locale.ENGLISH);
+                        System.out.printf("  Display language name for" +
+                            " (mk_MK): result(HOST): \"%s\", returned: \"%s\"\n",
+                            hostResult, result);
+                        if (result == null ||
+                            hostResult != null &&
+                            !result.equals(hostResult)) {
+                            throw new RuntimeException("Display language name" +
+                                " mismatch for \"mk\". Returned name was" +
+                                " \"" + result + "\", result(HOST): \"" +
+                                hostResult + "\"");
                         }
                         result = Locale.US.getDisplayLanguage(Locale.ENGLISH);
-                        if (!"English".equals(result)) {
-                            throw new RuntimeException("Windows locale name provider did not return expected localized language name for \"en\". Returned name was \"" + result + "\"");
+                        hostResult =
+                            lnp.getDisplayLanguage(Locale.US.getLanguage(),
+                                                   Locale.ENGLISH);
+                        System.out.printf("  Display language name for" +
+                            " (en_US): result(HOST): \"%s\", returned: \"%s\"\n",
+                            hostResult, result);
+                        if (result == null ||
+                            hostResult != null &&
+                            !result.equals(hostResult)) {
+                            throw new RuntimeException("Display language name" +
+                                " mismatch for \"en\". Returned name was" +
+                                " \"" + result + "\", result(HOST): \"" +
+                                hostResult + "\"");
                         }
-                        result = Locale.US.getDisplayCountry(Locale.ENGLISH);
-                        if (ver >= 6.1 && !"United States".equals(result)) {
-                            throw new RuntimeException("Windows locale name provider did not return expected localized country name for \"US\". Returned name was \"" + result + "\"");
+                        if (ver >= 6.1) {
+                            result = Locale.US.getDisplayCountry(Locale.ENGLISH);
+                            hostResult = lnp.getDisplayCountry(
+                                Locale.US.getCountry(), Locale.ENGLISH);
+                            System.out.printf("  Display country name for" +
+                                " (en_US): result(HOST): \"%s\", returned: \"%s\"\n",
+                                hostResult, result);
+                            if (result == null ||
+                                hostResult != null &&
+                                !result.equals(hostResult)) {
+                                throw new RuntimeException("Display country name" +
+                                    " mismatch for \"US\". Returned name was" +
+                                    " \"" + result + "\", result(HOST): \"" +
+                                    hostResult + "\"");
+                            }
                         }
                     } else {
-                        throw new RuntimeException("Windows Host LocaleProviderAdapter was not selected for English locale.");
+                        throw new RuntimeException("Windows Host" +
+                            " LocaleProviderAdapter was not selected for" +
+                            " English locale.");
                     }
                 }
             } catch (ParseException pe) {
--- a/test/java/util/Locale/LocaleProviders.sh	Wed May 15 09:54:30 2013 -0700
+++ b/test/java/util/Locale/LocaleProviders.sh	Wed May 15 16:48:54 2013 -0700
@@ -24,7 +24,7 @@
 #
 # @test
 # @bug 6336885 7196799 7197573 7198834 8000245 8000615 8001440 8010666
-#      8013086 
+#      8013086 8013233
 # @summary tests for "java.locale.providers" system property
 # @compile -XDignore.symbol.file LocaleProviders.java
 # @run shell/timeout=600 LocaleProviders.sh