diff options
Diffstat (limited to 'test/rexml/data/test/tests.xsl')
-rw-r--r-- | test/rexml/data/test/tests.xsl | 369 |
1 files changed, 0 insertions, 369 deletions
diff --git a/test/rexml/data/test/tests.xsl b/test/rexml/data/test/tests.xsl deleted file mode 100644 index 3ecd648b3b..0000000000 --- a/test/rexml/data/test/tests.xsl +++ /dev/null @@ -1,369 +0,0 @@ -<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:var="http://jaxen.org/test-harness/var"> -<!-- this is what I used to generate XPathTestBase. After generating I fixed the illegal strings (its quicker -than fixing the xsl for that few errors) and reformatted the code. Its unlikely this code will be needed -again, its just in cvs for completeness --> - <output method="text"/> - <template match="/"> - <text> - /* - * $Header: /home/projects/jaxen/scm/jaxen/src/java/test/org/jaxen/XPathTestBase.java,v 1.32 2005/06/15 23:52:40 bewins Exp $ - * $Revision: 1.32 $ - * $Date: 2005/06/15 23:52:40 $ - * - * ==================================================================== - * - * Copyright (C) 2000-2002 bob mcwhirter & James Strachan. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions, and the disclaimer that follows - * these conditions in the documentation and/or other materials - * provided with the distribution. - * - * 3. The name "Jaxen" must not be used to endorse or promote products - * derived from this software without prior written permission. For - * written permission, please contact license@jaxen.org. - * - * 4. Products derived from this software may not be called "Jaxen", nor - * may "Jaxen" appear in their name, without prior written permission - * from the Jaxen Project Management (pm@jaxen.org). - * - * In addition, we request (but do not require) that you include in the - * end-user documentation provided with the redistribution and/or in the - * software itself an acknowledgement equivalent to the following: - * "This product includes software developed by the - * Jaxen Project (http://www.jaxen.org/)." - * Alternatively, the acknowledgment may be graphical using the logos - * available at http://www.jaxen.org/ - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE Jaxen AUTHORS OR THE PROJECT - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * ==================================================================== - * This software consists of voluntary contributions made by many - * individuals on behalf of the Jaxen Project and was originally - * created by bob mcwhirter <bob@werken.com> and - * James Strachan <jstrachan@apache.org>. For more information on the - * Jaxen Project, please see <http://www.jaxen.org/>. - * - * $Id: XPathTestBase.java,v 1.32 2005/06/15 23:52:40 bewins Exp $ - */ - - -package org.jaxen; - -import junit.framework.TestCase; -import org.jaxen.function.StringFunction; -import org.jaxen.saxpath.helpers.XPathReaderFactory; - -import javax.xml.parsers.ParserConfigurationException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -public abstract class XPathTestBase extends TestCase -{ - protected static String VAR_URI = "http://jaxen.org/test-harness/var"; - protected static String TESTS_XML = "xml/test/tests.xml"; - - protected static boolean verbose = true; - protected static boolean debug = true; - private ContextSupport contextSupport; - - public XPathTestBase(String name) - { - super( name ); - } - - public void setUp() throws ParserConfigurationException - { - this.contextSupport = null; - System.setProperty( XPathReaderFactory.DRIVER_PROPERTY, - "" ); - log( "-----------------------------" ); - } - - public void log(String text) - { - log( verbose, - text ); - } - - public void log(boolean actualVerbose, - String text) - { - if ( ! actualVerbose ) - { - return; - } - - System.out.println( text ); - } - - protected void assertCountXPath(int expectedSize, Object context, String xpathStr) throws JaxenException { - try - { - assertCountXPath2(expectedSize, context, xpathStr); - } - catch (UnsupportedAxisException e) - { - log ( debug, - " ## SKIPPED -- Unsupported Axis" ); - } - } - - protected Object assertCountXPath2(int expectedSize, Object context, String xpathStr) throws JaxenException { - log ( debug, - " Select :: " + xpathStr ); - BaseXPath xpath = new BaseXPath( xpathStr ); - List results = xpath.selectNodes( getContext( context ) ); - log ( debug, - " Expected Size :: " + expectedSize ); - log ( debug, - " Result Size :: " + results.size() ); - - if ( expectedSize != results.size() ) - { - log ( debug, - " ## FAILED" ); - log ( debug, - " ## xpath: " + xpath + " = " + xpath.debug() ); - - Iterator resultIter = results.iterator(); - - while ( resultIter.hasNext() ) - { - log ( debug, - " --> " + resultIter.next() ); - } - } - assertEquals( xpathStr, - expectedSize, - results.size() ); - if (expectedSize > 0) { - return results.get(0); - } - return null; - } - - protected void assertInvalidXPath(Object context, String xpathStr) throws JaxenException { - try - { - log ( debug, - " Select :: " + xpathStr ); - BaseXPath xpath = new BaseXPath( xpathStr ); - List results = xpath.selectNodes( getContext( context ) ); - log ( debug, - " Result Size :: " + results.size() ); - fail("An exception was expected."); - } - catch (UnsupportedAxisException e) - { - log ( debug, - " ## SKIPPED -- Unsupported Axis" ); - } - catch (JaxenException e) { - log (debug, " Caught expected exception "+e.getMessage()); - } - } - - protected void assertValueOfXPath(String expected, Object context, String xpathStr) throws JaxenException { - try - { - BaseXPath xpath = new BaseXPath( xpathStr ); - Object node = xpath.evaluate( getContext( context ) ); - - String result = StringFunction.evaluate( node, - getNavigator() ); - - log ( debug, - " Select :: " + xpathStr ); - log ( debug, - " Expected :: " + expected ); - log ( debug, - " Result :: " + result ); - - if ( ! expected.equals( result ) ) - { - log ( debug, - " ## FAILED" ); - log ( debug, - " ## xpath: " + xpath + " = " + xpath.debug() ); - } - - assertEquals( xpathStr, - expected, - result ); - } - catch (UnsupportedAxisException e) - { - log ( debug, - " ## SKIPPED -- Unsupported Axis " ); - - } - } - protected Context getContext(Object contextNode) - { - Context context = new Context( getContextSupport() ); - - List list = new ArrayList( 1 ); - list.add( contextNode ); - context.setNodeSet( list ); - - return context; - } - - public ContextSupport getContextSupport() - { - if ( this.contextSupport == null ) - { - this.contextSupport = new ContextSupport( new SimpleNamespaceContext(), - XPathFunctionContext.getInstance(), - new SimpleVariableContext(), - getNavigator() ); - } - - return this.contextSupport; - } - - public abstract Navigator getNavigator(); - - public abstract Object getDocument(String url) throws Exception; - - public void testGetNodeType() throws FunctionCallException, UnsupportedAxisException - { - Navigator nav = getNavigator(); - Object document = nav.getDocument("xml/testNamespaces.xml"); - int count = 0; - Iterator descendantOrSelfAxisIterator = nav.getDescendantOrSelfAxisIterator(document); - while (descendantOrSelfAxisIterator.hasNext()) { - Object node = descendantOrSelfAxisIterator.next(); - Iterator namespaceAxisIterator = nav.getNamespaceAxisIterator(node); - while (namespaceAxisIterator.hasNext()) { - count++; - assertEquals("Node type mismatch", Pattern.NAMESPACE_NODE, nav.getNodeType(namespaceAxisIterator.next())); - } - } - assertEquals(25, count); - } - - </text> - <apply-templates select="node()|@*"/> - <text> -} - </text> - </template> - <template match="context"> - <text> - public void test</text><value-of select="generate-id()"/><text>() throws JaxenException { - Navigator nav = getNavigator(); - String url = "</text><value-of select="../@url"/><text>"; - log( "Document [" + url + "]" ); - Object document = nav.getDocument(url); - - XPath contextpath = new BaseXPath("</text><value-of select="@select"/><text>", nav); - log( "Initial Context :: " + contextpath ); - List list = contextpath.selectNodes(document); - </text> - <if test="count(namespace::*) > count(../namespace::*)"> - <text> - SimpleNamespaceContext nsContext = new SimpleNamespaceContext();</text> - <for-each select="namespace::*[local-name() != 'var' and local-name() != 'xml']"> - <text> - nsContext.addNamespace( "</text><value-of select="local-name()"/><text>", "</text><value-of select="."/><text>" );</text> - </for-each> - <text> - getContextSupport().setNamespaceContext( nsContext );</text> - </if> - <if test="@*[namespace-uri() = 'http://jaxen.org/test-harness/var']"> - <text> - SimpleVariableContext varContext = new SimpleVariableContext();</text> - <for-each select="@*[namespace-uri() = 'http://jaxen.org/test-harness/var']"> - <text> - varContext.setVariableValue(null, "</text><value-of select="local-name()"/><text>", "</text><value-of select="."/><text>" );</text> - </for-each> - <text> - getContextSupport().setVariableContext( varContext );</text> - </if> - <text> - Iterator iter = list.iterator(); - while (iter.hasNext()) { - Object context = iter.next();</text> - <apply-templates select="node()|@*"/> - <text> - } - }</text> - </template> - <template match="test[@exception]"> - <text> - assertInvalidXPath(context, "</text><value-of select='@select'/><text>");</text> - </template> - <template match="test[valueOf]"> - <choose> - <when test="@count"> - <text> - try - { - Object result = assertCountXPath2(</text><value-of select="@count"/><text>, context, "</text><value-of select="@select"/><text>");</text> - <for-each select="valueOf"> - <text> - assertValueOfXPath("</text><value-of select="."/><text>", result, "</text><value-of select="@select"/><text>");</text> - </for-each> - <text> - } - catch (UnsupportedAxisException e) - { - log ( debug, " ## SKIPPED -- Unsupported Axis" ); - }</text> - </when> - <otherwise> - <text> - try - { - BaseXPath xpath = new BaseXPath( "</text><value-of select="@select"/><text>" ); - List results = xpath.selectNodes( getContext( context ) ); - Object result = results.get(0);</text> - <for-each select="valueOf"> - <text> - assertValueOfXPath("</text><value-of select="."/><text>", result, "</text><value-of select="@select"/><text>");</text> - </for-each> - <text> - } - catch (UnsupportedAxisException e) - { - log ( debug, " ## SKIPPED -- Unsupported Axis" ); - }</text> - </otherwise> - </choose> - </template> - <template match="test"> - <text> - assertCountXPath(</text><value-of select="@count"/><text>, context, "</text><value-of select="@select"/><text>");</text> - </template> - <template match="valueOf"> - <text> - assertValueOfXPath("</text><value-of select="."/>", context, "<value-of select="@select"/><text>");</text> - </template> - <template match="comment()"><text> - /*</text><value-of select="."/><text> - */</text> - </template> - <template match="node()|@*"><apply-templates select="node()|@*"/></template> -</stylesheet>
\ No newline at end of file |