curcuru 01/11/29 11:26:51 Added: test/tests/extensions/java javaRedir2.xsl javaRedir2.xml javaRedir2.java Log: Test for new patch of redirect:write append attribute Revision Changes Path 1.1 xml-xalan/test/tests/extensions/java/javaRedir2.xsl Index: javaRedir2.xsl =================================================================== <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:redirect="org.apache.xalan.lib.Redirect" extension-element-prefixes="redirect"> <!-- Testing redirect:write append="" attribute --> <lxslt:component prefix="redirect" elements="write open close" functions=""> <lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/> </lxslt:component> <xsl:template match="/doc"> <standard-out> <p>Standard output:</p> <xsl:apply-templates select="list"/> </standard-out> </xsl:template> <xsl:template match="list"> <xsl:apply-templates select="item"/> </xsl:template> <!-- redirected, using append --> <xsl:template match="item"> <!-- Note append is treated as avt --> <redirect:write select="@file" append="{@append}"> <item-out> <append><xsl:value-of select="@append"/></append> <data><xsl:value-of select="."/></data> </item-out> </redirect:write> </xsl:template> </xsl:stylesheet> 1.1 xml-xalan/test/tests/extensions/java/javaRedir2.xml Index: javaRedir2.xml =================================================================== <?xml version="1.0"?> <doc> <list> <item file="javaRedir2a-write1.out" append="false">javaRedir2a-write1 append A</item> <item file="javaRedir2a-write1.out" append="true">javaRedir2a-write1 append B</item> </list> <list> <item file="javaRedir2a-write2.out" append="true">javaRedir2a-write2 append 1</item> <item file="javaRedir2a-write2.out">javaRedir2a-write2 append 2</item> <item file="javaRedir2a-write2.out" append="yes">javaRedir2a-write2 append 3</item> </list> </doc> 1.1 xml-xalan/test/tests/extensions/java/javaRedir2.java Index: javaRedir2.java =================================================================== /* * Covered by The Apache Software License, Version 1.1 * See xml-xalan/java/License */ // explicitly packageless import org.apache.qetest.CheckService; import org.apache.qetest.Logger; import org.apache.qetest.xsl.StylesheetDatalet; import org.apache.qetest.xsl.TestableExtension; import org.apache.qetest.xsl.XHTFileCheckService; import java.io.File; import java.util.Hashtable; /** * Extension for testing xml-xalan/samples/extensions. */ public class javaRedir2 extends TestableExtension { /** Note: no actual extension methods here; this class just does validation. */ /** Copied from javaRedir2.xml[/doc/list/item]. */ public static final String APPEND_WRITE1_NAME = "javaRedir2a-write1.out"; /** Copied from javaRedir2.xml[/doc/list/item]. */ public static final String APPEND_WRITE2_NAME = "javaRedir2a-write2.out"; /** * Perform and log any pre-transformation info. * @return true if OK; false if any fatal error occoured * @param datalet Datalet of current stylesheet test */ public static boolean preCheck(Logger logger, StylesheetDatalet datalet) { logger.logMsg(Logger.TRACEMSG, "javaRedir2.preCheck"); return true; } /** * Perform and log any post-transformation info. * * The extension should validate that it's extension was * properly called; we also validate output file(s). * * @param logger Logger to dump any info to * @param datalet Datalet of current stylesheet test */ public static void postCheck(Logger logger, StylesheetDatalet datalet) { logger.logMsg(Logger.TRACEMSG, "javaRedir2.postCheck"); // First, validate the normal output file the normal way CheckService fileChecker = (CheckService)datalet.options.get("fileCheckerImpl"); // Supply default value if (null == fileChecker) fileChecker = new XHTFileCheckService(); fileChecker.check(logger, new File(datalet.outputName), new File(datalet.goldName), "Extension test of " + datalet.getDescription()); // Now, also validate the redirected output from multiple files! // REPEAT for inner redirected file String goldRedir = (new File(datalet.goldName)).getParent() + File.separator + APPEND_WRITE1_NAME; String outRedir = (new File(datalet.outputName)).getParent() + File.separator + APPEND_WRITE1_NAME; fileChecker.check(logger, new File(outRedir), new File(goldRedir), "Redir-Append-Inner-Extension test of " + datalet.getDescription()); // REPEAT for outer redirected file goldRedir = (new File(datalet.goldName)).getParent() + File.separator + APPEND_WRITE2_NAME; outRedir = (new File(datalet.outputName)).getParent() + File.separator + APPEND_WRITE2_NAME; fileChecker.check(logger, new File(outRedir), new File(goldRedir), "Redir-AppendOuter-Extension test of " + datalet.getDescription()); } /** * Description of what this extension does. * @return String description of extension */ public static String getDescription() { return "No extension methods - just validation"; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]