Initial load
diff --git a/test/java/beans/XMLDecoder/4676532/Test4676532.java b/test/java/beans/XMLDecoder/4676532/Test4676532.java
new file mode 100644
index 0000000..9263c2a
--- /dev/null
+++ b/test/java/beans/XMLDecoder/4676532/Test4676532.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2003-2007 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 4676532
+ * @summary Tests XMLDecoder.setClassLoader()
+ * @author Mark Davidson
+ */
+
+import java.beans.ExceptionListener;
+import java.beans.XMLDecoder;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+/**
+ * Tests the XMLDecoder with an alternative classloader.
+ * Specicifically, the URLClassLoader.
+ * The test.jar file should be in the same directory as the classes.
+ * The Encode class will create the test.xml test file.
+ */
+public class Test4676532 {
+ private static final String DATA
+ = "<java>\n"
+ + " <object class=\"test.Test\">\n"
+ + " <void property=\"message\">\n"
+ + " <string>Hello, world</string>\n"
+ + " </void>\n"
+ + " </object>\n"
+ + "</java> ";
+
+ public static void main(String[] args) throws Exception {
+ StringBuilder sb = new StringBuilder(256);
+ sb.append("file:");
+ sb.append(System.getProperty("test.src", "."));
+ sb.append(File.separatorChar);
+ sb.append("test.jar");
+
+ URL[] url = {new URL(sb.toString())};
+ URLClassLoader cl = new URLClassLoader(url);
+
+ Class type = cl.loadClass("test.Test");
+ if (type == null) {
+ throw new Error("could not find class test.Test");
+ }
+
+
+ InputStream stream = new ByteArrayInputStream(DATA.getBytes());
+
+ ExceptionListener el = new ExceptionListener() {
+ public void exceptionThrown(Exception exception) {
+ throw new Error("unexpected exception", exception);
+ }
+ };
+
+ XMLDecoder decoder = new XMLDecoder(stream, null, el, cl);
+ Object object = decoder.readObject();
+ decoder.close();
+
+ if (!type.equals(object.getClass())) {
+ throw new Error("unexpected " + object.getClass());
+ }
+ }
+}
diff --git a/test/java/beans/XMLDecoder/4676532/test.jar b/test/java/beans/XMLDecoder/4676532/test.jar
new file mode 100644
index 0000000..7516a33
--- /dev/null
+++ b/test/java/beans/XMLDecoder/4676532/test.jar
Binary files differ
diff --git a/test/java/beans/XMLDecoder/Test6338070.java b/test/java/beans/XMLDecoder/Test6338070.java
new file mode 100644
index 0000000..1f1c04b
--- /dev/null
+++ b/test/java/beans/XMLDecoder/Test6338070.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2005-2007 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 6338070
+ * @summary Tests that parsing is performed even if readObject() is not called
+ * @author Sergey Malenkov
+ */
+
+import java.beans.XMLDecoder;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+public class Test6338070 {
+ private static final String DATA
+ = "<java>\n"
+ + " <void property=\"owner\">\n"
+ + " <void method=\"init\">\n"
+ + " <string>Hello, world</string>\n"
+ + " </void>\n"
+ + " </void>\n"
+ + "</java> ";
+
+ public static void main(String[] args) {
+ Test6338070 test = new Test6338070();
+ InputStream stream = new ByteArrayInputStream(DATA.getBytes());
+ new XMLDecoder(stream, test).close();
+ if (test.message == null) {
+ throw new Error("owner's method is not called");
+ }
+ }
+
+ private String message;
+
+ public void init(String message) {
+ this.message = message;
+ }
+}
diff --git a/test/java/beans/XMLDecoder/Test6341798.java b/test/java/beans/XMLDecoder/Test6341798.java
new file mode 100644
index 0000000..2bc43e8
--- /dev/null
+++ b/test/java/beans/XMLDecoder/Test6341798.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2005-2007 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 6341798
+ * @summary Tests name generation for turkish locale
+ * @author Sergey Malenkov
+ */
+
+import java.beans.XMLDecoder;
+import java.io.ByteArrayInputStream;
+import java.util.Locale;
+
+import static java.util.Locale.ENGLISH;
+
+public class Test6341798 {
+ private static final Locale TURKISH = new Locale("tr");
+
+ private static final String DATA
+ = "<java>\n"
+ + " <object class=\"TestTurkishLocale$DataBean\">\n"
+ + " <void property=\"illegal\">\n"
+ + " <boolean>true</boolean>\n"
+ + " </void>\n"
+ + " </object>\n"
+ + "</java> ";
+
+ public static void main(String[] args) {
+ test(ENGLISH, DATA.getBytes());
+ test(TURKISH, DATA.getBytes());
+ }
+
+ private static void test(Locale locale, byte[] data) {
+ Locale.setDefault(locale);
+ System.out.println("locale = " + locale);
+
+ XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(data));
+ System.out.println("object = " + decoder.readObject());
+ decoder.close();
+ }
+
+ public static class DataBean {
+ private boolean illegal;
+
+ public boolean isIllegal() {
+ return this.illegal;
+ }
+
+ public void setIllegal(boolean illegal) {
+ this.illegal = illegal;
+ }
+
+ public String toString() {
+ if (this.illegal) {
+ return "property is set";
+ }
+ throw new Error("property is not set");
+ }
+ }
+}