diff --git a/test/javax/xml/jaxp/parsers/8024707/TestFunc.java b/test/javax/xml/jaxp/parsers/8024707/TestFunc.java new file mode 100644 index 0000000000000000000000000000000000000000..69f181d7f0799824cc571474642a7a63da24aa28 --- /dev/null +++ b/test/javax/xml/jaxp/parsers/8024707/TestFunc.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2013, 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 + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * bug 8024707 + */ + +public class TestFunc { + public static Node test( NodeList list ) { + return list.item(0); + } +} diff --git a/test/javax/xml/jaxp/parsers/8024707/XSLT.java b/test/javax/xml/jaxp/parsers/8024707/XSLT.java new file mode 100644 index 0000000000000000000000000000000000000000..e6a03f5af683c7947d8212c5934e0583f6968967 --- /dev/null +++ b/test/javax/xml/jaxp/parsers/8024707/XSLT.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2013, 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 + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8024707 + * @summary Test for XSLT extension function with 1 element sized nodelist + * @compile TestFunc.java XSLT.java + * @run main/othervm XSLT + * @author aleksej.efimov@oracle.com + */ + +import javax.xml.transform.*; +import javax.xml.transform.stream.*; +import java.io.ByteArrayOutputStream; + +public class XSLT { + static final String XMLTOTRANSFORM = "/in.xml"; + static final String XSLTRANSFORMER = "/test.xsl"; + static final String EXPECTEDRESULT = "inp1_1"; + + public static void main(String[] args) throws Exception { + ByteArrayOutputStream resStream = new ByteArrayOutputStream(); + TransformerFactory trf = TransformerFactory.newInstance(); + Transformer tr = trf.newTransformer( new StreamSource(System.getProperty("test.src", ".")+XSLTRANSFORMER)); + tr.transform( new StreamSource(System.getProperty("test.src", ".")+XMLTOTRANSFORM), new StreamResult(resStream)); + System.out.println("Transformation completed. Result:"+resStream.toString()); + if (!resStream.toString().equals(EXPECTEDRESULT)) + throw new RuntimeException("Incorrect transformation result"); + } +} diff --git a/test/javax/xml/jaxp/parsers/8024707/in.xml b/test/javax/xml/jaxp/parsers/8024707/in.xml new file mode 100644 index 0000000000000000000000000000000000000000..2cd3116581506186ea8661be67d61b5ccd372a23 --- /dev/null +++ b/test/javax/xml/jaxp/parsers/8024707/in.xml @@ -0,0 +1,4 @@ + + +inp1_1 + diff --git a/test/javax/xml/jaxp/parsers/8024707/test.xsl b/test/javax/xml/jaxp/parsers/8024707/test.xsl new file mode 100644 index 0000000000000000000000000000000000000000..59c506370a96912b68f1ec1c49d5646c79786ea2 --- /dev/null +++ b/test/javax/xml/jaxp/parsers/8024707/test.xsl @@ -0,0 +1,10 @@ + + + + + +