From 41c159f597d3109ca0d4cda798cac1301e768260 Mon Sep 17 00:00:00 2001 From: Naoto Sato Date: Wed, 15 May 2013 16:48:54 -0700 Subject: [PATCH] 8013233: java/util/Locale/LocaleProviders.sh fails Reviewed-by: okutsu --- .../java/util/Locale/LocaleProviders.java | 60 +++++++++++++++---- jdk/test/java/util/Locale/LocaleProviders.sh | 2 +- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/jdk/test/java/util/Locale/LocaleProviders.java b/jdk/test/java/util/Locale/LocaleProviders.java index 97a5c2a7dbb..e5324e4dd91 100644 --- a/jdk/test/java/util/Locale/LocaleProviders.java +++ b/jdk/test/java/util/Locale/LocaleProviders.java @@ -118,27 +118,67 @@ public class LocaleProviders { 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) { diff --git a/jdk/test/java/util/Locale/LocaleProviders.sh b/jdk/test/java/util/Locale/LocaleProviders.sh index 3b1f96fd196..4d8bd06ff08 100644 --- a/jdk/test/java/util/Locale/LocaleProviders.sh +++ b/jdk/test/java/util/Locale/LocaleProviders.sh @@ -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