Initial load
diff --git a/test/java/lang/StringCoding/CheckEncodings.sh b/test/java/lang/StringCoding/CheckEncodings.sh
new file mode 100644
index 0000000..6fa20c4
--- /dev/null
+++ b/test/java/lang/StringCoding/CheckEncodings.sh
@@ -0,0 +1,70 @@
+#
+# Copyright 2002 Sun Microsystems, Inc. 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+# @test
+# @summary Verify that unsupported encodings are handled gracefully.
+# @bug 4629543 4785473
+#
+# @run shell/timeout=300 CheckEncodings.sh
+
+# set platform-dependent variables
+OS=`uname -s`
+case "$OS" in
+ SunOS | Linux ) ;;
+ Windows* )
+ echo "Passed"; exit 0 ;;
+ * ) echo "Unrecognized system!" ; exit 1 ;;
+esac
+
+expectPass() {
+ if [ $1 -eq 0 ]
+ then echo "--- passed as expected"
+ else
+ echo "--- failed"
+ exit $1
+ fi
+}
+
+runTest() {
+ echo "Testing:" ${1}
+ set LC_ALL="${1}"; export LC_ALL
+ locale
+ ${TESTJAVA}/bin/java -version 2>&1
+ expectPass $?
+}
+
+
+locale -a > machine_locales.txt
+
+# ${TESTSRC}/locales.txt contains the list of "fully supported" locales
+# as defined by the i18n doc for 1.4
+cat ${TESTSRC}/locales.txt machine_locales.txt | sort | uniq > locale_union.txt
+
+for i in `xargs < locale_union.txt` ; do
+ runTest ${i}
+done
+
+# random strings
+for i in FOO 1234 ZZ; do
+ runTest ${i}
+done
diff --git a/test/java/lang/StringCoding/Enormous.java b/test/java/lang/StringCoding/Enormous.java
new file mode 100644
index 0000000..052da74
--- /dev/null
+++ b/test/java/lang/StringCoding/Enormous.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc. 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @bug 4949631
+ * @summary Check for ability to recode arrays of odd sizes > 16MB
+ * @run main/othervm -Xms100m -Xmx200m Enormous
+ */
+
+public class Enormous {
+ public static void main(String[] args) throws Exception {
+ new String(new char[16777217]).getBytes("ASCII");
+ byte[] bytes = new byte[16777217];
+ new String(bytes,"ASCII");
+
+ // Another manifestation of this bug, reported in bug 6192102.
+ new sun.misc.BASE64Encoder().encode(bytes);
+ }
+}
diff --git a/test/java/lang/StringCoding/locales.txt b/test/java/lang/StringCoding/locales.txt
new file mode 100644
index 0000000..4780335
--- /dev/null
+++ b/test/java/lang/StringCoding/locales.txt
@@ -0,0 +1,25 @@
+ar_SA
+zh_CN
+zh_TW
+nl_NL
+nl_NL_EURO
+en_AU
+en_CA
+en_GB
+en_US
+fr_CA
+fr_FR
+fr_FR_EURO
+de_DE
+de_DE_EURO
+iw_IL
+hi_IN
+it_IT
+it_IT_EURO
+ja_JP
+ko_KR
+pt_BR
+es_ES
+es_ES_EURO
+sv_SE
+th_TH