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="[EMAIL PROTECTED]">
<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]