aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxuelei <none@none>2011-07-29 02:50:58 -0700
committerxuelei <none@none>2011-07-29 02:50:58 -0700
commitfb839cb86116b3f682b84650999780078a1b6ce0 (patch)
tree9fc9e567009b754982b5194694feb66e8606e5ef
parent6528224e26a4d3351fc0649bebb502f8fc15b6df (diff)
7068662: Reserve and restore the default locale
Reviewed-by: alanb, weijun
-rw-r--r--test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java10
-rw-r--r--test/java/beans/XMLDecoder/Test6341798.java12
-rw-r--r--test/java/io/pathNames/win32/bug6344646.java27
-rw-r--r--test/java/net/CookieHandler/B6791927.java27
-rw-r--r--test/java/net/URLConnection/SetIfModifiedSince.java7
-rw-r--r--test/java/util/Locale/LocaleCategory.java55
-rw-r--r--test/java/util/PluggableLocale/CurrencyNameProviderTest.java10
-rw-r--r--test/java/util/PluggableLocale/TimeZoneNameProviderTest.java10
-rw-r--r--test/java/util/ResourceBundle/Bug6190861.java39
-rw-r--r--test/java/util/ResourceBundle/Control/Bug6530694.java10
-rw-r--r--test/java/util/ResourceBundle/Control/StressTest.java56
-rw-r--r--test/java/util/ResourceBundle/Test4314141.java12
-rw-r--r--test/java/util/ResourceBundle/Test4318520.java12
-rw-r--r--test/java/util/jar/JarFile/TurkCert.java30
-rw-r--r--test/javax/crypto/Cipher/Turkish.java24
-rw-r--r--test/javax/swing/JColorChooser/Test6524757.java30
-rw-r--r--test/sun/security/tools/keytool/KeyToolTest.java86
-rw-r--r--test/sun/text/resources/Collator/Bug4248694.java68
-rw-r--r--test/sun/text/resources/Collator/Bug4804273.java145
-rw-r--r--test/sun/text/resources/Collator/Bug4848897.java63
-rw-r--r--test/sun/text/resources/Format/Bug4651568.java44
-rw-r--r--test/sun/util/resources/Locale/Bug4965260.java88
-rw-r--r--test/sun/util/resources/TimeZone/Bug4640234.java444
23 files changed, 727 insertions, 582 deletions
diff --git a/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java b/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
index eb1c30603..491a94108 100644
--- a/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
+++ b/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, 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
@@ -36,15 +36,19 @@ public class LocaleTest {
public static void main(String[] args) throws Exception {
- Locale.setDefault(Locale.ITALY);
-
+ Locale reservedLocale = Locale.getDefault();
try {
+ Locale.setDefault(Locale.ITALY);
+
throw new XMLSecurityException("foo");
} catch (XMLSecurityException xse) {
System.out.println("Test PASSED");
} catch (Throwable t) {
System.out.println("Test FAILED");
t.printStackTrace();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
}
}
diff --git a/test/java/beans/XMLDecoder/Test6341798.java b/test/java/beans/XMLDecoder/Test6341798.java
index ce2284631..594809433 100644
--- a/test/java/beans/XMLDecoder/Test6341798.java
+++ b/test/java/beans/XMLDecoder/Test6341798.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -47,8 +47,14 @@ public class Test6341798 {
+ "</java> ";
public static void main(String[] args) {
- test(ENGLISH, DATA.getBytes());
- test(TURKISH, DATA.getBytes());
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ test(ENGLISH, DATA.getBytes());
+ test(TURKISH, DATA.getBytes());
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
private static void test(Locale locale, byte[] data) {
diff --git a/test/java/io/pathNames/win32/bug6344646.java b/test/java/io/pathNames/win32/bug6344646.java
index 227adc87e..d39dd40cf 100644
--- a/test/java/io/pathNames/win32/bug6344646.java
+++ b/test/java/io/pathNames/win32/bug6344646.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -32,17 +32,24 @@ import java.util.*;
public class bug6344646 {
public static void main(String[] s) {
- /* This test is only valid on win32 systems */
- if (File.separatorChar != '\\') {
- return;
- }
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ /* This test is only valid on win32 systems */
+ if (File.separatorChar != '\\') {
+ return;
+ }
- Locale.setDefault(new Locale("lt"));
- File f1 = new File("J\u0301");
- File f2 = new File("j\u0301");
+ Locale.setDefault(new Locale("lt"));
+ File f1 = new File("J\u0301");
+ File f2 = new File("j\u0301");
- if (f1.hashCode() != f2.hashCode()) {
- throw new RuntimeException("File.hashCode() for \"J\u0301\" and \"j\u0301\" should be the same");
+ if (f1.hashCode() != f2.hashCode()) {
+ throw new RuntimeException("File.hashCode() for \"J\u0301\" " +
+ "and \"j\u0301\" should be the same");
+ }
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
}
}
diff --git a/test/java/net/CookieHandler/B6791927.java b/test/java/net/CookieHandler/B6791927.java
index e4ee02325..65b60cb2d 100644
--- a/test/java/net/CookieHandler/B6791927.java
+++ b/test/java/net/CookieHandler/B6791927.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
@@ -33,16 +33,23 @@ import java.util.Locale;
public class B6791927 {
public static final void main( String[] aaParamters ) throws Exception{
- // Forces a non US locale
- Locale.setDefault(Locale.FRANCE);
- List<HttpCookie> cookies = HttpCookie.parse("set-cookie: CUSTOMER=WILE_E_COYOTE; expires=Wednesday, 09-Nov-2019 23:12:40 GMT");
- if (cookies == null || cookies.isEmpty()) {
- throw new RuntimeException("No cookie found");
- }
- for (HttpCookie c : cookies) {
- if (c.getMaxAge() == 0) {
- throw new RuntimeException("Expiration date shouldn't be 0");
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ // Forces a non US locale
+ Locale.setDefault(Locale.FRANCE);
+ List<HttpCookie> cookies = HttpCookie.parse("set-cookie: CUSTOMER=WILE_E_COYOTE; expires=Wednesday, 09-Nov-2019 23:12:40 GMT");
+ if (cookies == null || cookies.isEmpty()) {
+ throw new RuntimeException("No cookie found");
+ }
+ for (HttpCookie c : cookies) {
+ if (c.getMaxAge() == 0) {
+ throw new RuntimeException(
+ "Expiration date shouldn't be 0");
+ }
}
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
}
}
diff --git a/test/java/net/URLConnection/SetIfModifiedSince.java b/test/java/net/URLConnection/SetIfModifiedSince.java
index 597610e91..dac00c720 100644
--- a/test/java/net/URLConnection/SetIfModifiedSince.java
+++ b/test/java/net/URLConnection/SetIfModifiedSince.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
@@ -73,6 +73,7 @@ public class SetIfModifiedSince {
}
public static void main (String[] args) {
+ Locale reservedLocale = Locale.getDefault();
try {
Locale.setDefault(Locale.JAPAN);
ServerSocket serversocket = new ServerSocket (0);
@@ -87,6 +88,10 @@ public class SetIfModifiedSince {
int i=0, c;
Thread.sleep (5000);
} catch (Exception e) {
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
+
}
}
diff --git a/test/java/util/Locale/LocaleCategory.java b/test/java/util/Locale/LocaleCategory.java
index e083c62ef..39f942e8b 100644
--- a/test/java/util/Locale/LocaleCategory.java
+++ b/test/java/util/Locale/LocaleCategory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -29,30 +29,37 @@ public class LocaleCategory {
private static String enc = null;
public static void main(String[] args) {
- Locale.Builder builder = new Locale.Builder();
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.Builder builder = new Locale.Builder();
- base = builder.setLanguage(System.getProperty("user.language", ""))
- .setScript(System.getProperty("user.script", ""))
- .setRegion(System.getProperty("user.country", ""))
- .setVariant(System.getProperty("user.variant", "")).build();
- disp = builder.setLanguage(System.getProperty("user.language.display",
- Locale.getDefault().getLanguage()))
- .setScript(System.getProperty("user.script.display",
- Locale.getDefault().getScript()))
- .setRegion(System.getProperty("user.country.display",
- Locale.getDefault().getCountry()))
- .setVariant(System.getProperty("user.variant.display",
- Locale.getDefault().getVariant())).build();
- fmt = builder.setLanguage(System.getProperty("user.language.format",
- Locale.getDefault().getLanguage()))
- .setScript(System.getProperty("user.script.format",
- Locale.getDefault().getScript()))
- .setRegion(System.getProperty("user.country.format",
- Locale.getDefault().getCountry()))
- .setVariant(System.getProperty("user.variant.format",
- Locale.getDefault().getVariant())).build();
- checkDefault();
- testGetSetDefault();
+ base = builder.setLanguage(System.getProperty("user.language", ""))
+ .setScript(System.getProperty("user.script", ""))
+ .setRegion(System.getProperty("user.country", ""))
+ .setVariant(System.getProperty("user.variant", "")).build();
+ disp = builder.setLanguage(
+ System.getProperty("user.language.display",
+ Locale.getDefault().getLanguage()))
+ .setScript(System.getProperty("user.script.display",
+ Locale.getDefault().getScript()))
+ .setRegion(System.getProperty("user.country.display",
+ Locale.getDefault().getCountry()))
+ .setVariant(System.getProperty("user.variant.display",
+ Locale.getDefault().getVariant())).build();
+ fmt = builder.setLanguage(System.getProperty("user.language.format",
+ Locale.getDefault().getLanguage()))
+ .setScript(System.getProperty("user.script.format",
+ Locale.getDefault().getScript()))
+ .setRegion(System.getProperty("user.country.format",
+ Locale.getDefault().getCountry()))
+ .setVariant(System.getProperty("user.variant.format",
+ Locale.getDefault().getVariant())).build();
+ checkDefault();
+ testGetSetDefault();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
static void checkDefault() {
diff --git a/test/java/util/PluggableLocale/CurrencyNameProviderTest.java b/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
index 745b3b9f7..3fd621a47 100644
--- a/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
+++ b/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -32,7 +32,13 @@ import sun.util.resources.*;
public class CurrencyNameProviderTest extends ProviderTest {
public static void main(String[] s) {
- new CurrencyNameProviderTest();
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ new CurrencyNameProviderTest();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
CurrencyNameProviderTest() {
diff --git a/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java b/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
index 4f3dad025..15f2890da 100644
--- a/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
+++ b/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -113,6 +113,7 @@ public class TimeZoneNameProviderTest extends ProviderTest {
void test2() {
Locale defaultLocale = Locale.getDefault();
+ TimeZone reservedTimeZone = TimeZone.getDefault();
Date d = new Date(2005-1900, Calendar.DECEMBER, 22);
String formatted;
@@ -139,7 +140,6 @@ public class TimeZoneNameProviderTest extends ProviderTest {
df = new SimpleDateFormat(pattern, DateFormatSymbols.getInstance());
System.out.println(formatted = df.format(d));
if(!formatted.equals(DISPLAY_NAMES_KYOTO[i])) {
- Locale.setDefault(defaultLocale);
throw new RuntimeException("Timezone " + TIMEZONES[i] +
": formatted zone names mismatch. " +
formatted + " should match with " +
@@ -148,10 +148,12 @@ public class TimeZoneNameProviderTest extends ProviderTest {
df.parse(DISPLAY_NAMES_KYOTO[i]);
}
} catch (ParseException pe) {
- Locale.setDefault(defaultLocale);
throw new RuntimeException("parse error occured" + pe);
+ } finally {
+ // restore the reserved locale and time zone
+ Locale.setDefault(defaultLocale);
+ TimeZone.setDefault(reservedTimeZone);
}
- Locale.setDefault(defaultLocale);
}
final String LATIME = "America/Los_Angeles";
diff --git a/test/java/util/ResourceBundle/Bug6190861.java b/test/java/util/ResourceBundle/Bug6190861.java
index dd9837f3f..48dd92099 100644
--- a/test/java/util/ResourceBundle/Bug6190861.java
+++ b/test/java/util/ResourceBundle/Bug6190861.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -32,27 +32,34 @@ import java.util.*;
public class Bug6190861 {
static public void main(String[] args) {
- Locale.setDefault(new Locale("en", "US"));
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(new Locale("en", "US"));
- List localeList = new ArrayList();
- localeList.add(Locale.ENGLISH);
- localeList.add(Locale.KOREA);
- localeList.add(Locale.UK);
- localeList.add(new Locale("en", "CA"));
- localeList.add(Locale.ENGLISH);
+ List localeList = new ArrayList();
+ localeList.add(Locale.ENGLISH);
+ localeList.add(Locale.KOREA);
+ localeList.add(Locale.UK);
+ localeList.add(new Locale("en", "CA"));
+ localeList.add(Locale.ENGLISH);
- Iterator iter = localeList.iterator();
- while (iter.hasNext()){
- Locale currentLocale = (Locale) iter.next();
- System.out.println("\ncurrentLocale = "
+ Iterator iter = localeList.iterator();
+ while (iter.hasNext()){
+ Locale currentLocale = (Locale) iter.next();
+ System.out.println("\ncurrentLocale = "
+ currentLocale.getDisplayName());
- ResourceBundle messages = ResourceBundle.getBundle("Bug6190861Data",currentLocale);
+ ResourceBundle messages =
+ ResourceBundle.getBundle("Bug6190861Data",currentLocale);
- Locale messagesLocale = messages.getLocale();
- System.out.println("messagesLocale = "
+ Locale messagesLocale = messages.getLocale();
+ System.out.println("messagesLocale = "
+ messagesLocale.getDisplayName());
- checkMessages(messages);
+ checkMessages(messages);
+ }
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
}
diff --git a/test/java/util/ResourceBundle/Control/Bug6530694.java b/test/java/util/ResourceBundle/Control/Bug6530694.java
index b76f0aeb7..7f22cc98a 100644
--- a/test/java/util/ResourceBundle/Control/Bug6530694.java
+++ b/test/java/util/ResourceBundle/Control/Bug6530694.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -43,6 +43,12 @@ public class Bug6530694 {
}
public static void main(String[] args) {
- new Bug6530694();
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ new Bug6530694();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
}
diff --git a/test/java/util/ResourceBundle/Control/StressTest.java b/test/java/util/ResourceBundle/Control/StressTest.java
index 401f6b430..abead81d2 100644
--- a/test/java/util/ResourceBundle/Control/StressTest.java
+++ b/test/java/util/ResourceBundle/Control/StressTest.java
@@ -69,36 +69,44 @@ public class StressTest {
if (args.length > 1) {
duration = Math.max(5, Integer.parseInt(args[1]));
}
- Locale.setDefault(Locale.US);
- Thread[] tasks = new Thread[locales.length * threadsFactor];
- counters = new AtomicIntegerArray(tasks.length);
- for (int i = 0; i < tasks.length; i++) {
- tasks[i] = new Thread(new Worker(i));
- }
- for (int i = 0; i < tasks.length; i++) {
- tasks[i].start();
- }
-
- int nProcessors = Runtime.getRuntime().availableProcessors();
- intervalForCounterCheck = Math.max(tasks.length / nProcessors, 1);
- System.out.printf("%d processors, intervalForCounterCheck = %d [sec]%n",
- nProcessors, intervalForCounterCheck);
+ Locale reservedLocale = Locale.getDefault();
try {
- for (int i = 0; runrun && i < duration; i++) {
- Thread.sleep(1000); // 1 second
- if ((i % intervalForCounterCheck) == 0) {
- checkCounters();
- }
+ Locale.setDefault(Locale.US);
+ Thread[] tasks = new Thread[locales.length * threadsFactor];
+ counters = new AtomicIntegerArray(tasks.length);
+
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = new Thread(new Worker(i));
}
- runrun = false;
for (int i = 0; i < tasks.length; i++) {
- tasks[i].join();
+ tasks[i].start();
}
- } catch (InterruptedException e) {
- }
- printCounters();
+ int nProcessors = Runtime.getRuntime().availableProcessors();
+ intervalForCounterCheck = Math.max(tasks.length / nProcessors, 1);
+ System.out.printf(
+ "%d processors, intervalForCounterCheck = %d [sec]%n",
+ nProcessors, intervalForCounterCheck);
+ try {
+ for (int i = 0; runrun && i < duration; i++) {
+ Thread.sleep(1000); // 1 second
+ if ((i % intervalForCounterCheck) == 0) {
+ checkCounters();
+ }
+ }
+ runrun = false;
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i].join();
+ }
+ } catch (InterruptedException e) {
+ }
+
+ printCounters();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
static void checkCounters() {
diff --git a/test/java/util/ResourceBundle/Test4314141.java b/test/java/util/ResourceBundle/Test4314141.java
index f41a2dc05..fc7d9ca08 100644
--- a/test/java/util/ResourceBundle/Test4314141.java
+++ b/test/java/util/ResourceBundle/Test4314141.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -35,8 +35,14 @@ import java.util.MissingResourceException;
public class Test4314141 {
public static void main(String[] args) {
- testCandidateOmission();
- testExample();
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ testCandidateOmission();
+ testExample();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
/**
diff --git a/test/java/util/ResourceBundle/Test4318520.java b/test/java/util/ResourceBundle/Test4318520.java
index 79605bd07..6385486e2 100644
--- a/test/java/util/ResourceBundle/Test4318520.java
+++ b/test/java/util/ResourceBundle/Test4318520.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -36,8 +36,14 @@ import java.util.Locale;
public class Test4318520 {
public static void main(String[] args) {
- test(Locale.GERMAN);
- test(Locale.ENGLISH);
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ test(Locale.GERMAN);
+ test(Locale.ENGLISH);
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
private static void test(Locale locale) {
diff --git a/test/java/util/jar/JarFile/TurkCert.java b/test/java/util/jar/JarFile/TurkCert.java
index 0d084e2ea..210cf5d3c 100644
--- a/test/java/util/jar/JarFile/TurkCert.java
+++ b/test/java/util/jar/JarFile/TurkCert.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, 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
@@ -26,7 +26,6 @@
* @bug 4624534
* @summary Make sure jar certificates work for Turkish locale
* @author kladko
- * @run main/othervm TurkCert
*/
import java.util.*;
@@ -36,15 +35,24 @@ import java.io.*;
public class TurkCert {
public static void main(String[] args) throws Exception{
- Locale.setDefault(new Locale("TR", "tr"));
- File f = new File(System.getProperty("test.src","."), "test.jar");
- JarFile jf = new JarFile(f, true);
- JarEntry je = (JarEntry)jf.getEntry("test.class");
- InputStream is = jf.getInputStream(je);
- byte[] b = new byte[1024];
- while (is.read(b) != -1) {
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(new Locale("TR", "tr"));
+ File f = new File(System.getProperty("test.src","."), "test.jar");
+ try (JarFile jf = new JarFile(f, true)) {
+ JarEntry je = (JarEntry)jf.getEntry("test.class");
+ try (InputStream is = jf.getInputStream(je)) {
+ byte[] b = new byte[1024];
+ while (is.read(b) != -1) {
+ }
+ }
+ if (je.getCertificates() == null) {
+ throw new Exception("Null certificate for test.class.");
+ }
+ }
+ } finally {
+ // restore the default locale
+ Locale.setDefault(reservedLocale);
}
- if (je.getCertificates() == null)
- throw new Exception("Null certificate for test.class.");
}
}
diff --git a/test/javax/crypto/Cipher/Turkish.java b/test/javax/crypto/Cipher/Turkish.java
index b19b889b8..1f63ff86b 100644
--- a/test/javax/crypto/Cipher/Turkish.java
+++ b/test/javax/crypto/Cipher/Turkish.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -35,15 +35,21 @@ import javax.crypto.Cipher;
public class Turkish {
public static void main(String[] args) throws Exception {
- Locale.setDefault(new Locale("tr", "TR"));
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(new Locale("tr", "TR"));
- System.out.println(Cipher.getInstance("RSA/ECB/PKCS1Padding"));
- System.out.println(Cipher.getInstance("RSA/ECB/PKCS1PADDING"));
- System.out.println(Cipher.getInstance("rsa/ecb/pkcs1padding"));
- System.out.println(Cipher.getInstance("Blowfish"));
- System.out.println(Cipher.getInstance("blowfish"));
- System.out.println(Cipher.getInstance("BLOWFISH"));
+ System.out.println(Cipher.getInstance("RSA/ECB/PKCS1Padding"));
+ System.out.println(Cipher.getInstance("RSA/ECB/PKCS1PADDING"));
+ System.out.println(Cipher.getInstance("rsa/ecb/pkcs1padding"));
+ System.out.println(Cipher.getInstance("Blowfish"));
+ System.out.println(Cipher.getInstance("blowfish"));
+ System.out.println(Cipher.getInstance("BLOWFISH"));
- System.out.println("OK");
+ System.out.println("OK");
+ } finally {
+ // restore the default locale
+ Locale.setDefault(reservedLocale);
+ }
}
}
diff --git a/test/javax/swing/JColorChooser/Test6524757.java b/test/javax/swing/JColorChooser/Test6524757.java
index 09838b4b1..779ef7ba8 100644
--- a/test/javax/swing/JColorChooser/Test6524757.java
+++ b/test/javax/swing/JColorChooser/Test6524757.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -98,17 +98,23 @@ public class Test6524757 {
private static final Object[] FRENCH = convert(Locale.FRENCH, KEYS);
public static void main(String[] args) {
- // it affects Swing because it is not initialized
- Locale.setDefault(Locale.KOREAN);
- validate(KOREAN, create());
-
- // it does not affect Swing because it is initialized
- Locale.setDefault(Locale.CANADA);
- validate(KOREAN, create());
-
- // it definitely should affect Swing
- JComponent.setDefaultLocale(Locale.FRENCH);
- validate(FRENCH, create());
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ // it affects Swing because it is not initialized
+ Locale.setDefault(Locale.KOREAN);
+ validate(KOREAN, create());
+
+ // it does not affect Swing because it is initialized
+ Locale.setDefault(Locale.CANADA);
+ validate(KOREAN, create());
+
+ // it definitely should affect Swing
+ JComponent.setDefaultLocale(Locale.FRENCH);
+ validate(FRENCH, create());
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
private static void validate(Object[] expected, Object[] actual) {
diff --git a/test/sun/security/tools/keytool/KeyToolTest.java b/test/sun/security/tools/keytool/KeyToolTest.java
index f6f3bcfb7..ab7474ae0 100644
--- a/test/sun/security/tools/keytool/KeyToolTest.java
+++ b/test/sun/security/tools/keytool/KeyToolTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -1278,52 +1278,58 @@ public class KeyToolTest {
}
public static void main(String[] args) throws Exception {
- // first test if HumanInputStream really acts like a human being
- HumanInputStream.test();
- KeyToolTest t = new KeyToolTest();
-
- if (System.getProperty("file") != null) {
- t.sqeTest();
- t.testAll();
- t.i18nTest();
- t.v3extTest("RSA");
- t.v3extTest("DSA");
- boolean testEC = true;
- try {
- KeyPairGenerator.getInstance("EC");
- } catch (NoSuchAlgorithmException nae) {
- testEC = false;
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ // first test if HumanInputStream really acts like a human being
+ HumanInputStream.test();
+ KeyToolTest t = new KeyToolTest();
+
+ if (System.getProperty("file") != null) {
+ t.sqeTest();
+ t.testAll();
+ t.i18nTest();
+ t.v3extTest("RSA");
+ t.v3extTest("DSA");
+ boolean testEC = true;
+ try {
+ KeyPairGenerator.getInstance("EC");
+ } catch (NoSuchAlgorithmException nae) {
+ testEC = false;
+ }
+ if (testEC) t.v3extTest("EC");
}
- if (testEC) t.v3extTest("EC");
- }
- if (System.getProperty("nss") != null) {
- t.srcP11Arg = NSS_SRC_P11_ARG;
- t.p11Arg = NSS_P11_ARG;
+ if (System.getProperty("nss") != null) {
+ t.srcP11Arg = NSS_SRC_P11_ARG;
+ t.p11Arg = NSS_P11_ARG;
- t.testPKCS11();
+ t.testPKCS11();
- // FAIL:
- // 1. we still don't have srcprovidername yet
- // 2. cannot store privatekey into NSS keystore
- // java.security.KeyStoreException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCOMPLETE.
- //t.testPKCS11ImportKeyStore();
+ // FAIL:
+ // 1. we still don't have srcprovidername yet
+ // 2. cannot store privatekey into NSS keystore
+ // java.security.KeyStoreException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCOMPLETE.
+ //t.testPKCS11ImportKeyStore();
- t.i18nPKCS11Test();
- //FAIL: currently PKCS11-NSS does not support 2 NSS KeyStores to be loaded at the same time
- //t.sszzTest();
- }
+ t.i18nPKCS11Test();
+ //FAIL: currently PKCS11-NSS does not support 2 NSS KeyStores to be loaded at the same time
+ //t.sszzTest();
+ }
- if (System.getProperty("solaris") != null) {
- // For Solaris Cryptography Framework
- t.srcP11Arg = SUN_SRC_P11_ARG;
- t.p11Arg = SUN_P11_ARG;
- t.testPKCS11();
- t.testPKCS11ImportKeyStore();
- t.i18nPKCS11Test();
- }
+ if (System.getProperty("solaris") != null) {
+ // For Solaris Cryptography Framework
+ t.srcP11Arg = SUN_SRC_P11_ARG;
+ t.p11Arg = SUN_P11_ARG;
+ t.testPKCS11();
+ t.testPKCS11ImportKeyStore();
+ t.i18nPKCS11Test();
+ }
- System.out.println("Test pass!!!");
+ System.out.println("Test pass!!!");
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
}
diff --git a/test/sun/text/resources/Collator/Bug4248694.java b/test/sun/text/resources/Collator/Bug4248694.java
index 60b36edc9..b9339744f 100644
--- a/test/sun/text/resources/Collator/Bug4248694.java
+++ b/test/sun/text/resources/Collator/Bug4248694.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -35,43 +35,49 @@ public class Bug4248694 {
/********************************************************
*********************************************************/
public static void main (String[] args) {
- int errors=0;
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ int errors=0;
- Locale loc = new Locale ("is", "is"); // Icelandic
+ Locale loc = new Locale ("is", "is"); // Icelandic
- Locale.setDefault (loc);
- Collator col = Collator.getInstance ();
+ Locale.setDefault (loc);
+ Collator col = Collator.getInstance ();
- String[] data = {"\u00e6ard",
- "Zard",
- "aard",
- "\u00feard",
- "vird",
- "\u00c6ard",
- "Zerd",
- "\u00deard"};
+ String[] data = {"\u00e6ard",
+ "Zard",
+ "aard",
+ "\u00feard",
+ "vird",
+ "\u00c6ard",
+ "Zerd",
+ "\u00deard"};
- String[] sortedData = {"aard",
- "vird",
- "Zard",
- "Zerd",
- "\u00feard",
- "\u00deard",
- "\u00e6ard",
- "\u00c6ard"};
+ String[] sortedData = {"aard",
+ "vird",
+ "Zard",
+ "Zerd",
+ "\u00feard",
+ "\u00deard",
+ "\u00e6ard",
+ "\u00c6ard"};
- Arrays.sort (data, col);
+ Arrays.sort (data, col);
- System.out.println ("Using " + loc.getDisplayName());
- for (int i = 0; i < data.length; i++) {
- System.out.println(data[i] + " : " + sortedData[i]);
- if (sortedData[i].compareTo(data[i]) != 0) {
- errors++;
- }
- }//end for
+ System.out.println ("Using " + loc.getDisplayName());
+ for (int i = 0; i < data.length; i++) {
+ System.out.println(data[i] + " : " + sortedData[i]);
+ if (sortedData[i].compareTo(data[i]) != 0) {
+ errors++;
+ }
+ }//end for
- if (errors > 0)
- throw new RuntimeException();
+ if (errors > 0)
+ throw new RuntimeException();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}//end main
}//end class CollatorTest
diff --git a/test/sun/text/resources/Collator/Bug4804273.java b/test/sun/text/resources/Collator/Bug4804273.java
index 0d1fa930f..0d60f3062 100644
--- a/test/sun/text/resources/Collator/Bug4804273.java
+++ b/test/sun/text/resources/Collator/Bug4804273.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -35,82 +35,89 @@ public class Bug4804273 {
/********************************************************
*********************************************************/
public static void main (String[] args) {
- int errors=0;
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ int errors=0;
- Locale loc = new Locale ("sv", "se"); // Swedish
+ Locale loc = new Locale ("sv", "se"); // Swedish
- Locale.setDefault (loc);
- Collator col = Collator.getInstance ();
+ Locale.setDefault (loc);
+ Collator col = Collator.getInstance ();
- String[] data = {"A",
- "Aa",
- "Ae",
- "B",
- "Y",
- "U\u0308", // U-umlaut
- "Z",
- "A\u030a", // A-ring
- "A\u0308", // A-umlaut
- "\u00c6", // AE ligature
- "O\u0308", // O-umlaut
- "a\u030b", // a-double-acute
- "\u00d8", // O-stroke
- "a",
- "aa",
- "ae",
- "b",
- "y",
- "u\u0308", // u-umlaut
- "z",
- "A\u030b", // A-double-acute
- "a\u030a", // a-ring
- "a\u0308", // a-umlaut
- "\u00e6", // ae ligature
- "o\u0308", // o-umlaut
- "\u00f8", // o-stroke
- };
+ String[] data = {"A",
+ "Aa",
+ "Ae",
+ "B",
+ "Y",
+ "U\u0308", // U-umlaut
+ "Z",
+ "A\u030a", // A-ring
+ "A\u0308", // A-umlaut
+ "\u00c6", // AE ligature
+ "O\u0308", // O-umlaut
+ "a\u030b", // a-double-acute
+ "\u00d8", // O-stroke
+ "a",
+ "aa",
+ "ae",
+ "b",
+ "y",
+ "u\u0308", // u-umlaut
+ "z",
+ "A\u030b", // A-double-acute
+ "a\u030a", // a-ring
+ "a\u0308", // a-umlaut
+ "\u00e6", // ae ligature
+ "o\u0308", // o-umlaut
+ "\u00f8", // o-stroke
+ };
- String[] sortedData = {"a",
- "A",
- "aa",
- "Aa",
- "ae",
- "Ae",
- "b",
- "B",
- "y",
- "Y",
- "u\u0308", // o-umlaut
- "U\u0308", // o-umlaut
- "z",
- "Z",
- "a\u030a", // a-ring
- "A\u030a", // A-ring
- "a\u0308", // a-umlaut
- "A\u0308", // A-umlaut
- "a\u030b", // a-double-acute
- "A\u030b", // A-double-acute
- "\u00e6", // ae ligature
- "\u00c6", // AE ligature
- "o\u0308", // o-umlaut
- "O\u0308", // O-umlaut
- "\u00f8", // o-stroke
- "\u00d8", // O-stroke
- };
+ String[] sortedData = {"a",
+ "A",
+ "aa",
+ "Aa",
+ "ae",
+ "Ae",
+ "b",
+ "B",
+ "y",
+ "Y",
+ "u\u0308", // o-umlaut
+ "U\u0308", // o-umlaut
+ "z",
+ "Z",
+ "a\u030a", // a-ring
+ "A\u030a", // A-ring
+ "a\u0308", // a-umlaut
+ "A\u0308", // A-umlaut
+ "a\u030b", // a-double-acute
+ "A\u030b", // A-double-acute
+ "\u00e6", // ae ligature
+ "\u00c6", // AE ligature
+ "o\u0308", // o-umlaut
+ "O\u0308", // O-umlaut
+ "\u00f8", // o-stroke
+ "\u00d8", // O-stroke
+ };
- Arrays.sort (data, col);
+ Arrays.sort (data, col);
- System.out.println ("Using " + loc.getDisplayName());
- for (int i = 0; i < data.length; i++) {
- System.out.println(data[i] + " : " + sortedData[i]);
- if (sortedData[i].compareTo(data[i]) != 0) {
- errors++;
- }
- }//end for
+ System.out.println ("Using " + loc.getDisplayName());
+ for (int i = 0; i < data.length; i++) {
+ System.out.println(data[i] + " : " + sortedData[i]);
+ if (sortedData[i].compareTo(data[i]) != 0) {
+ errors++;
+ }
+ }//end for
- if (errors > 0)
- throw new RuntimeException("There are " + errors + " words sorted incorrectly!");
+ if (errors > 0)
+ throw new RuntimeException("There are " + errors +
+ " words sorted incorrectly!");
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}//end main
}//end class CollatorTest
diff --git a/test/sun/text/resources/Collator/Bug4848897.java b/test/sun/text/resources/Collator/Bug4848897.java
index 250c14a9a..fdb36ff8a 100644
--- a/test/sun/text/resources/Collator/Bug4848897.java
+++ b/test/sun/text/resources/Collator/Bug4848897.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -35,39 +35,44 @@ public class Bug4848897 {
/********************************************************
*********************************************************/
public static void main (String[] args) {
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ int errors=0;
+ Locale loc = new Locale ("no", "NO"); // Norwegian
- int errors=0;
- Locale loc = new Locale ("no", "NO"); // Norwegian
+ Locale.setDefault (loc);
+ Collator col = Collator.getInstance ();
- Locale.setDefault (loc);
- Collator col = Collator.getInstance ();
+ String[] data = {"wird",
+ "vird",
+ "verd",
+ "werd",
+ "vard",
+ "ward"};
- String[] data = {"wird",
- "vird",
- "verd",
- "werd",
- "vard",
- "ward"};
+ String[] sortedData = {"vard",
+ "verd",
+ "vird",
+ "ward",
+ "werd",
+ "wird"};
- String[] sortedData = {"vard",
- "verd",
- "vird",
- "ward",
- "werd",
- "wird"};
+ Arrays.sort (data, col);
- Arrays.sort (data, col);
+ System.out.println ("Using " + loc.getDisplayName());
+ for (int i = 0; i < data.length; i++) {
+ System.out.println(data[i] + " : " + sortedData[i]);
+ if (sortedData[i].compareTo(data[i]) != 0) {
+ errors++;
+ }
+ }//end for
- System.out.println ("Using " + loc.getDisplayName());
- for (int i = 0; i < data.length; i++) {
- System.out.println(data[i] + " : " + sortedData[i]);
- if (sortedData[i].compareTo(data[i]) != 0) {
- errors++;
- }
- }//end for
-
- if (errors > 0)
- throw new RuntimeException();
- }//end main
+ if (errors > 0)
+ throw new RuntimeException();
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
+ } // end main
}//end class CollatorTest
diff --git a/test/sun/text/resources/Format/Bug4651568.java b/test/sun/text/resources/Format/Bug4651568.java
index 63b99ffbb..510097e8a 100644
--- a/test/sun/text/resources/Format/Bug4651568.java
+++ b/test/sun/text/resources/Format/Bug4651568.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -34,23 +34,29 @@ import java.util.Locale;
public class Bug4651568 {
public static void main (String argv[] ) {
- String expectedCurrencyPattern = "\u00A4 #.##0,00";
-
- Locale locale = new Locale ("pt", "BR");
- Locale.setDefault(locale);
-
- DecimalFormat formatter =
- (DecimalFormat) NumberFormat.getCurrencyInstance(locale);
-
- if (formatter.toLocalizedPattern().equals(expectedCurrencyPattern))
-{
- System.out.println ("Passed.");
- } else {
- System.out.println ("Failed Currency pattern." +
- " Expected: " + expectedCurrencyPattern +
- " Received: " + formatter.toLocalizedPattern() );
- throw new RuntimeException();
-
- }
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ String expectedCurrencyPattern = "\u00A4 #.##0,00";
+
+ Locale locale = new Locale ("pt", "BR");
+ Locale.setDefault(locale);
+
+ DecimalFormat formatter =
+ (DecimalFormat) NumberFormat.getCurrencyInstance(locale);
+
+ if (formatter.toLocalizedPattern().equals(
+ expectedCurrencyPattern)) {
+ System.out.println ("Passed.");
+ } else {
+ System.out.println ("Failed Currency pattern." +
+ " Expected: " + expectedCurrencyPattern +
+ " Received: " + formatter.toLocalizedPattern() );
+ throw new RuntimeException();
+
+ }
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
}
diff --git a/test/sun/util/resources/Locale/Bug4965260.java b/test/sun/util/resources/Locale/Bug4965260.java
index 177c4c3b5..16c88c2e9 100644
--- a/test/sun/util/resources/Locale/Bug4965260.java
+++ b/test/sun/util/resources/Locale/Bug4965260.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -30,49 +30,55 @@ import java.util.Locale;
public class Bug4965260 {
- // Define supported locales
- static Locale[] locales2Test = new Locale[] {
- new Locale("de"),
- new Locale("es"),
- new Locale("fr"),
- new Locale("it"),
- new Locale("sv")
- };
+ // Define supported locales
+ static Locale[] locales2Test = new Locale[] {
+ new Locale("de"),
+ new Locale("es"),
+ new Locale("fr"),
+ new Locale("it"),
+ new Locale("sv")
+ };
- static String[] expectedNames = new String[] {
- "Niederl\u00e4ndisch",
- "neerland\u00e9s",
- "n\u00e9erlandais",
- "neerlandese",
- "nederl\u00e4ndska"
- };
+ static String[] expectedNames = new String[] {
+ "Niederl\u00e4ndisch",
+ "neerland\u00e9s",
+ "n\u00e9erlandais",
+ "neerlandese",
+ "nederl\u00e4ndska"
+ };
- public static void main(String[] args) throws Exception {
- Locale.setDefault(Locale.ENGLISH);
- if (locales2Test.length != expectedNames.length) {
- throw new Exception("\nData sizes does not match!\n");
- }
+ public static void main(String[] args) throws Exception {
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(Locale.ENGLISH);
+ if (locales2Test.length != expectedNames.length) {
+ throw new Exception("\nData sizes does not match!\n");
+ }
- StringBuffer message = new StringBuffer("");
- Locale dutch = new Locale("nl", "BE");
- String current;
- for (int i = 0; i < locales2Test.length; i++) {
- Locale locale = locales2Test[i];
- current = dutch.getDisplayLanguage(locale);
- if (!current.equals(expectedNames[i])) {
- message.append("[");
- message.append(locale.getDisplayLanguage());
- message.append("] ");
- message.append("Language name is ");
- message.append(current);
- message.append(" should be ");
- message.append(expectedNames[i]);
- message.append("\n");
- }
- }
+ StringBuffer message = new StringBuffer("");
+ Locale dutch = new Locale("nl", "BE");
+ String current;
+ for (int i = 0; i < locales2Test.length; i++) {
+ Locale locale = locales2Test[i];
+ current = dutch.getDisplayLanguage(locale);
+ if (!current.equals(expectedNames[i])) {
+ message.append("[");
+ message.append(locale.getDisplayLanguage());
+ message.append("] ");
+ message.append("Language name is ");
+ message.append(current);
+ message.append(" should be ");
+ message.append(expectedNames[i]);
+ message.append("\n");
+ }
+ }
- if (message.length() >0) {
- throw new Exception("\n" + message.toString());
+ if (message.length() >0) {
+ throw new Exception("\n" + message.toString());
+ }
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
+ }
}
- }
}
diff --git a/test/sun/util/resources/TimeZone/Bug4640234.java b/test/sun/util/resources/TimeZone/Bug4640234.java
index 1fa9c2a19..a8766ea12 100644
--- a/test/sun/util/resources/TimeZone/Bug4640234.java
+++ b/test/sun/util/resources/TimeZone/Bug4640234.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -24,11 +24,11 @@
/**
* @test
* @bug 4640234 4946057 4938151 4873691 5023181
- * @summary Verifies the translation of time zone names, this test will catch presence
- * of country name for english and selected locales for all ISO country
- * codes.
- * The test program also displays which timezone, country and language names
- * are not translated
+ * @summary Verifies the translation of time zone names, this test will catch
+ * presence of country name for english and selected locales for all
+ * ISO country codes.
+ * The test program also displays which timezone, country and
+ * language names are not translated
*/
@@ -51,230 +51,242 @@ import java.util.TimeZone;
public class Bug4640234 {
- static SimpleDateFormat sdfEn = new SimpleDateFormat("zzzz", Locale.US);
- static SimpleDateFormat sdfEnShort = new SimpleDateFormat("z", Locale.US);
- static Locale locEn = Locale.ENGLISH;
-
- static SimpleDateFormat sdfLoc;
- static SimpleDateFormat sdfLocShort;
- static Date date = new Date();
-
- // Define supported locales
- static Locale[] locales2Test = new Locale[] {
- new Locale("de"),
- new Locale("es"),
- new Locale("fr"),
- new Locale("it"),
- new Locale("ja"),
- new Locale("ko"),
- new Locale("sv"),
- new Locale("zh", "CN"),
- new Locale("zh", "TW")
- };
-
- public static void main(String[] args) throws Exception {
- Locale.setDefault(Locale.ENGLISH);
-
- StringBuffer errors = new StringBuffer("");
- StringBuffer warnings = new StringBuffer("");
-
- String[] timezones = TimeZone.getAvailableIDs();
- String[] countries = locEn.getISOCountries();
- String[] languages = locEn.getISOLanguages();
-
- ResourceBundle resEn = ResourceBundle.getBundle("sun.util.resources.LocaleNames", locEn);
- Map<String, String> countryMapEn = getList(resEn, true);
- Map<String, String> languageMapEn = getList(resEn, false);
-
- ResourceBundle resLoc;
- Map<String, String> countryMap;
- Map<String, String> languageMap;
-
- for (Locale locale : locales2Test) {
- resLoc = ResourceBundle.getBundle("sun.util.resources.LocaleNames", locale);
-
- sdfLoc = new SimpleDateFormat("zzzz", locale);
- sdfLocShort = new SimpleDateFormat("z", locale);
-
- for (String timezone : timezones) {
- if (isTZIgnored(timezone)) {
- continue;
- }
- warnings.append(testTZ(timezone, locale));
- }
-
- countryMap = getList(resLoc, true);
-
- for (String country : countries) {
- String[] result = testEntry(country,
- countryMapEn,
- countryMap,
- locale,
- "ERROR: {0} country name for country code: {1} not found!\n",
- "WARNING: {0} country name for country code: {1} not localized!\n"
- );
- if (warnings.indexOf(result[0]) == -1) {
- warnings.append(result[0]);
- }
- if (errors.indexOf(result[1]) == -1) {
- errors.append(result[1]);
- }
- }
-
- languageMap = getList(resLoc, false);
- for (String language : languages) {
- String[] result = testEntry(language,
- languageMapEn,
- languageMap,
- locale,
- "ERROR: {0} language name for language code: {1} not found!\n",
- "WARNING: {0} language name for language code: {1} not localized!\n");
- if (warnings.indexOf(result[0]) == -1) {
- warnings.append(result[0]);
- }
- if (errors.indexOf(result[1]) == -1) {
- errors.append(result[1]);
+ static SimpleDateFormat sdfEn = new SimpleDateFormat("zzzz", Locale.US);
+ static SimpleDateFormat sdfEnShort = new SimpleDateFormat("z", Locale.US);
+ static Locale locEn = Locale.ENGLISH;
+
+ static SimpleDateFormat sdfLoc;
+ static SimpleDateFormat sdfLocShort;
+ static Date date = new Date();
+
+ // Define supported locales
+ static Locale[] locales2Test = new Locale[] {
+ new Locale("de"),
+ new Locale("es"),
+ new Locale("fr"),
+ new Locale("it"),
+ new Locale("ja"),
+ new Locale("ko"),
+ new Locale("sv"),
+ new Locale("zh", "CN"),
+ new Locale("zh", "TW")
+ };
+
+ public static void main(String[] args) throws Exception {
+ Locale reservedLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(Locale.ENGLISH);
+
+ StringBuffer errors = new StringBuffer("");
+ StringBuffer warnings = new StringBuffer("");
+
+ String[] timezones = TimeZone.getAvailableIDs();
+ String[] countries = locEn.getISOCountries();
+ String[] languages = locEn.getISOLanguages();
+
+ ResourceBundle resEn = ResourceBundle.getBundle(
+ "sun.util.resources.LocaleNames", locEn);
+ Map<String, String> countryMapEn = getList(resEn, true);
+ Map<String, String> languageMapEn = getList(resEn, false);
+
+ ResourceBundle resLoc;
+ Map<String, String> countryMap;
+ Map<String, String> languageMap;
+
+ for (Locale locale : locales2Test) {
+ resLoc = ResourceBundle.getBundle(
+ "sun.util.resources.LocaleNames", locale);
+
+ sdfLoc = new SimpleDateFormat("zzzz", locale);
+ sdfLocShort = new SimpleDateFormat("z", locale);
+
+ for (String timezone : timezones) {
+ if (isTZIgnored(timezone)) {
+ continue;
+ }
+ warnings.append(testTZ(timezone, locale));
+ }
+
+ countryMap = getList(resLoc, true);
+
+ for (String country : countries) {
+ String[] result = testEntry(country,
+ countryMapEn,
+ countryMap,
+ locale,
+ "ERROR: {0} country name for country code: {1} not found!\n",
+ "WARNING: {0} country name for country code: {1} not localized!\n"
+ );
+ if (warnings.indexOf(result[0]) == -1) {
+ warnings.append(result[0]);
+ }
+ if (errors.indexOf(result[1]) == -1) {
+ errors.append(result[1]);
+ }
+ }
+
+ languageMap = getList(resLoc, false);
+ for (String language : languages) {
+ String[] result = testEntry(language,
+ languageMapEn,
+ languageMap,
+ locale,
+ "ERROR: {0} language name for language code: {1} not found!\n",
+ "WARNING: {0} language name for language code: {1} not localized!\n");
+ if (warnings.indexOf(result[0]) == -1) {
+ warnings.append(result[0]);
+ }
+ if (errors.indexOf(result[1]) == -1) {
+ errors.append(result[1]);
+ }
+ }
+ }
+
+ StringBuffer message = new StringBuffer("");
+ if (!"".equals(errors.toString())) {
+ message.append("Test failed! ");
+ message.append("ERROR: some keys are missing! ");
+ }
+
+ if ("".equals(message.toString())) {
+ System.out.println("\nTest passed");
+ System.out.println(warnings.toString());
+ } else {
+ System.out.println("\nTest failed!");
+ System.out.println(errors.toString());
+ System.out.println(warnings.toString());
+ throw new Exception("\n" + message);
+ }
+ } finally {
+ // restore the reserved locale
+ Locale.setDefault(reservedLocale);
}
- }
}
- StringBuffer message = new StringBuffer("");
- if (!"".equals(errors.toString())) {
- message.append("Test failed! ");
- message.append("ERROR: some keys are missing! ");
- }
+ /**
+ * Compares the english timezone name and timezone name in specified locale
+ * @param timeZoneName - name of the timezone to compare
+ * @param locale - locale to test against english
+ * @return empty string when passed, descriptive error message in other cases
+ */
+ private static String testTZ(String timeZoneName, Locale locale) {
+ StringBuffer timeZoneResult = new StringBuffer("");
+ TimeZone tz = TimeZone.getTimeZone(timeZoneName);
+ sdfEn.setTimeZone(tz);
+ sdfEnShort.setTimeZone(tz);
+ sdfLoc.setTimeZone(tz);
+ sdfLocShort.setTimeZone(tz);
+
+ String en, enShort, loc, locShort;
+ en = sdfEn.format(date);
+ enShort = sdfEnShort.format(date);
+ loc = sdfLoc.format(date);
+ locShort = sdfLocShort.format(date);
+
+ String displayLanguage = locale.getDisplayLanguage();
+ String displayCountry = locale.getDisplayCountry();
+
+ if (loc.equals(en)) {
+ timeZoneResult.append("[");
+ timeZoneResult.append(displayLanguage);
+ if (!"".equals(displayCountry)) {
+ timeZoneResult.append(" ");
+ timeZoneResult.append(displayCountry);
+ }
+ timeZoneResult.append("] timezone \"");
+ timeZoneResult.append(timeZoneName);
+ timeZoneResult.append("\" long name \"" + en);
+ timeZoneResult.append("\" not localized!\n");
+ }
- if ("".equals(message.toString())) {
- System.out.println("\nTest passed");
- System.out.println(warnings.toString());
- } else {
- System.out.println("\nTest failed!");
- System.out.println(errors.toString());
- System.out.println(warnings.toString());
- throw new Exception("\n" + message);
- }
- }
-
- /**
- * Compares the english timezone name and timezone name in specified locale
- * @param timeZoneName - name of the timezone to compare
- * @param locale - locale to test against english
- * @return empty string when passed, descriptive error message in other cases
- */
- private static String testTZ(String timeZoneName, Locale locale) {
- StringBuffer timeZoneResult = new StringBuffer("");
- TimeZone tz = TimeZone.getTimeZone(timeZoneName);
- sdfEn.setTimeZone(tz);
- sdfEnShort.setTimeZone(tz);
- sdfLoc.setTimeZone(tz);
- sdfLocShort.setTimeZone(tz);
-
- String en, enShort, loc, locShort;
- en = sdfEn.format(date);
- enShort = sdfEnShort.format(date);
- loc = sdfLoc.format(date);
- locShort = sdfLocShort.format(date);
-
- String displayLanguage = locale.getDisplayLanguage();
- String displayCountry = locale.getDisplayCountry();
-
- if (loc.equals(en)) {
- timeZoneResult.append("[");
- timeZoneResult.append(displayLanguage);
- if (!"".equals(displayCountry)) {
- timeZoneResult.append(" ");
- timeZoneResult.append(displayCountry);
- }
- timeZoneResult.append("] timezone \"");
- timeZoneResult.append(timeZoneName);
- timeZoneResult.append("\" long name \"" + en);
- timeZoneResult.append("\" not localized!\n");
+ if (!locShort.equals(enShort)) {
+ timeZoneResult.append("[");
+ timeZoneResult.append(displayLanguage);
+ if (!"".equals(displayCountry)) {
+ timeZoneResult.append(" ");
+ timeZoneResult.append(displayCountry);
+ }
+ timeZoneResult.append("] timezone \"");
+ timeZoneResult.append(timeZoneName);
+ timeZoneResult.append("\" short name \"" + enShort);
+ timeZoneResult.append("\" is localized \"");
+ timeZoneResult.append(locShort);
+ timeZoneResult.append("\"!\n");
+ }
+ return timeZoneResult.toString();
}
- if (!locShort.equals(enShort)) {
- timeZoneResult.append("[");
- timeZoneResult.append(displayLanguage);
- if (!"".equals(displayCountry)) {
- timeZoneResult.append(" ");
- timeZoneResult.append(displayCountry);
- }
- timeZoneResult.append("] timezone \"");
- timeZoneResult.append(timeZoneName);
- timeZoneResult.append("\" short name \"" + enShort);
- timeZoneResult.append("\" is localized \"");
- timeZoneResult.append(locShort);
- timeZoneResult.append("\"!\n");
- }
- return timeZoneResult.toString();
- }
-
- /**
- * Verifies whether the name for ISOCode is localized.
- * @param ISOCode - ISO country/language code for country/language name to test
- * @param entriesEn - array of english country/language names
- * @param entriesLoc - array of localized country/language names for specified locale
- * @param locale - locale to test against english
- * @param notFoundMessage - message in form ready for MessageFormat, {0} will be human readable
- * language name, {1} will be ISOCode.
- * @param notLocalizedMessage - message in for ready for MessageFormat, same formatting like
- * for notFountMessage
- * @return array of two empty strings when passed, descriptive error message in
- * other cases, [0] - warnings for not localized, [1] - errors for missing keys.
- */
- private static String[] testEntry(String ISOCode,
- Map<String, String> entriesEn,
- Map<String, String> entriesLoc,
- Locale locale,
- String notFoundMessage,
- String notLocalizedMessage) {
- String nameEn = null;
- String nameLoc = null;
-
- for (String key: entriesEn.keySet()) {
- if (ISOCode.equalsIgnoreCase(key)) {
- nameEn = entriesEn.get(key);
- break;
- }
- }
+ /**
+ * Verifies whether the name for ISOCode is localized.
+ * @param ISOCode - ISO country/language code for country/language name
+ * to test
+ * @param entriesEn - array of english country/language names
+ * @param entriesLoc - array of localized country/language names for
+ * specified locale
+ * @param locale - locale to test against english
+ * @param notFoundMessage - message in form ready for MessageFormat,
+ * {0} will be human readable language name, {1} will be ISOCode.
+ * @param notLocalizedMessage - message in for ready for MessageFormat,
+ * same formatting like for notFountMessage
+ * @return array of two empty strings when passed, descriptive error message
+ * in other cases, [0] - warnings for not localized, [1] - errors for
+ * missing keys.
+ */
+ private static String[] testEntry(String ISOCode,
+ Map<String, String> entriesEn,
+ Map<String, String> entriesLoc,
+ Locale locale,
+ String notFoundMessage,
+ String notLocalizedMessage) {
+ String nameEn = null;
+ String nameLoc = null;
+
+ for (String key: entriesEn.keySet()) {
+ if (ISOCode.equalsIgnoreCase(key)) {
+ nameEn = entriesEn.get(key);
+ break;
+ }
+ }
- for (String key: entriesLoc.keySet()) {
- if (ISOCode.equalsIgnoreCase(key)) {
- nameLoc = entriesLoc.get(key);
- break;
- }
- }
+ for (String key: entriesLoc.keySet()) {
+ if (ISOCode.equalsIgnoreCase(key)) {
+ nameLoc = entriesLoc.get(key);
+ break;
+ }
+ }
- if (nameEn == null) {
- // We should not get here but test is a MUST have
- return new String[] {"", MessageFormat.format(notFoundMessage,
- new String[] {"English", ISOCode})};
- }
+ if (nameEn == null) {
+ // We should not get here but test is a MUST have
+ return new String[] {"", MessageFormat.format(notFoundMessage,
+ new String[] {"English", ISOCode})};
+ }
- if (nameLoc == null) {
- return new String[] {"", MessageFormat.format(notFoundMessage,
- new String[] {locale.getDisplayName(), ISOCode})};
- }
+ if (nameLoc == null) {
+ return new String[] {"", MessageFormat.format(notFoundMessage,
+ new String[] {locale.getDisplayName(), ISOCode})};
+ }
- if (nameEn.equals(nameLoc)) {
- return new String[] {MessageFormat.format(notLocalizedMessage,
- new String[] {locale.getDisplayName(), ISOCode}), ""};
- }
+ if (nameEn.equals(nameLoc)) {
+ return new String[] {MessageFormat.format(notLocalizedMessage,
+ new String[] {locale.getDisplayName(), ISOCode}), ""};
+ }
- return new String[] {"", ""};
- }
+ return new String[] {"", ""};
+ }
- private static boolean isTZIgnored(String TZName) {
- if (TZName.startsWith("Etc/GMT") ||
- TZName.indexOf("Riyadh8") != -1 ||
- TZName.equals("GMT0") ||
- TZName.equals("MET")
- ) {
- return true;
+ private static boolean isTZIgnored(String TZName) {
+ if (TZName.startsWith("Etc/GMT") ||
+ TZName.indexOf("Riyadh8") != -1 ||
+ TZName.equals("GMT0") ||
+ TZName.equals("MET")
+ ) {
+ return true;
+ }
+ return false;
}
- return false;
- }
- private static Map<String, String> getList(ResourceBundle rs, Boolean getCountryList) {
+ private static Map<String, String> getList(
+ ResourceBundle rs, Boolean getCountryList) {
char beginChar = 'a';
char endChar = 'z';
if (getCountryList) {