Return-Path: Delivered-To: apmail-xmlgraphics-fop-commits-archive@www.apache.org Received: (qmail 90198 invoked from network); 22 Feb 2009 12:41:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Feb 2009 12:41:54 -0000 Received: (qmail 29992 invoked by uid 500); 22 Feb 2009 12:41:53 -0000 Delivered-To: apmail-xmlgraphics-fop-commits-archive@xmlgraphics.apache.org Received: (qmail 29967 invoked by uid 500); 22 Feb 2009 12:41:53 -0000 Mailing-List: contact fop-commits-help@xmlgraphics.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: fop-dev@xmlgraphics.apache.org Delivered-To: mailing list fop-commits@xmlgraphics.apache.org Received: (qmail 29958 invoked by uid 99); 22 Feb 2009 12:41:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Feb 2009 04:41:53 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Feb 2009 12:41:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id DFE0E2388B31; Sun, 22 Feb 2009 12:41:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r746664 [8/8] - in /xmlgraphics/fop/trunk: ./ examples/embedding/java/embedding/atxml/ examples/embedding/java/embedding/intermediate/ examples/embedding/xml/xslt/ examples/plan/src/org/apache/fop/plan/ lib/ src/documentation/content/xdocs/... Date: Sun, 22 Feb 2009 12:40:55 -0000 To: fop-commits@xmlgraphics.apache.org From: jeremias@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090222124103.DFE0E2388B31@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java Sun Feb 22 12:40:44 2009 @@ -19,27 +19,21 @@ package org.apache.fop.intermediate; -import java.io.BufferedOutputStream; import java.io.File; -import java.io.FileOutputStream; +import java.io.IOException; import java.io.OutputStream; -import java.net.MalformedURLException; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; -import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; -import org.apache.commons.io.IOUtils; -import org.apache.commons.io.output.ByteArrayOutputStream; +import org.w3c.dom.Document; + import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; @@ -50,145 +44,35 @@ import org.apache.fop.fonts.FontInfo; import org.apache.fop.render.Renderer; import org.apache.fop.render.xml.XMLRenderer; -import org.apache.fop.util.ConsoleEventListenerForTests; - -//XML Unit 1.0: See http://xmlunit.sourceforge.net (BSD-style License) -import org.custommonkey.xmlunit.XMLTestCase; -import org.w3c.dom.Document; /** * Tests the area tree parser. */ -public class AreaTreeParserTestCase extends XMLTestCase { - - // configure fopFactory as desired - private static FopFactory fopFactory = FopFactory.newInstance(); - - private static SAXTransformerFactory tFactory - = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); - private static Templates stylesheet = null; - - private File mainDir = new File("test/layoutengine"); - private File testDir = new File(mainDir, "standard-testcases"); - - private String name; - private File testFile; - - private File outputDir; - private Document intermediate; - - /** @see junit.framework.TestCase#TestCase(String) */ - public AreaTreeParserTestCase(String name) { - super(name); - } +public class AreaTreeParserTestCase extends AbstractIntermediateTestCase { /** * Constructor for the test suite that is used for each test file. * @param testFile the test file to run + * @throws IOException + * @throws IOException if an I/O error occurs while loading the test case */ - public AreaTreeParserTestCase(File testFile) { - super(testFile.getName()); - this.testFile = testFile; - } - - private Templates getStylesheet() throws TransformerConfigurationException { - if (stylesheet == null) { - File xsltFile = new File(mainDir, "testcase2fo.xsl"); - stylesheet = tFactory.newTemplates(new StreamSource(xsltFile)); - } - return stylesheet; - } - - /** @see junit.framework.TestCase#setUp() */ - protected void setUp() throws Exception { - super.setUp(); - String s = System.getProperty("fop.intermediate.outdir"); - if (s != null && s.length() > 0) { - outputDir = new File(s); - outputDir.mkdirs(); - } - File srcFile; - if (testFile != null) { - srcFile = testFile; - } else { - srcFile = new File(testDir, "block_font-style.xml"); - } - this.name = srcFile.getName(); - intermediate = buildAreaTreeXML(new StreamSource(srcFile), getStylesheet()); - if (outputDir != null) { - saveDOM(intermediate, new File(outputDir, name + ".at1.xml")); - } - } - - - /** - * Tests the area tree parser by running the parsed area tree again through the area tree - * renderer. The source and result documents are compared to each other. - * @throws Exception if the test fails - */ - public void testParserToAT() throws Exception { - - Source src = new DOMSource(intermediate); - Document doc = parseAndRenderToAreaTree(src); - if (outputDir != null) { - File tgtFile = new File(outputDir, name + ".at2.xml"); - saveDOM(doc, tgtFile); - } - - assertXMLEqual(intermediate, doc); - } - - private void saveDOM(Document doc, File tgtFile) throws Exception { - Transformer transformer = tFactory.newTransformer(); - Source src = new DOMSource(doc); - Result res = new StreamResult(tgtFile); - transformer.transform(src, res); - } - - /** - * Tests the area tree parser by sending the parsed area tree to the PDF Renderer. Some - * errors might be caught by the PDFRenderer. - * @throws Exception if the test fails - */ - public void testParserToPDF() throws Exception { - OutputStream out; - if (outputDir != null) { - File tgtFile = new File(outputDir, name + ".pdf"); - out = new FileOutputStream(tgtFile); - out = new BufferedOutputStream(out); - } else { - out = new ByteArrayOutputStream(); - } - try { - Source src = new DOMSource(intermediate); - parseAndRender(src, out, MimeConstants.MIME_PDF); - } finally { - IOUtils.closeQuietly(out); - } + public AreaTreeParserTestCase(File testFile) throws IOException { + super(testFile); } - private FOUserAgent createUserAgent() { - FOUserAgent userAgent = fopFactory.newFOUserAgent(); - try { - userAgent.setBaseURL(testDir.toURL().toExternalForm()); - userAgent.getEventBroadcaster().addEventListener( - new ConsoleEventListenerForTests(testFile.getName())); - } catch (MalformedURLException e) { - //ignore, won't happen - } - return userAgent; + /** {@inheritDoc} */ + protected String getIntermediateFileExtension() { + return ".at.xml"; } - private Document buildAreaTreeXML(Source src, Templates stylesheet) throws Exception { - Transformer transformer; - if (stylesheet != null) { - transformer = stylesheet.newTransformer(); - } else { - transformer = tFactory.newTransformer(); - } + /** {@inheritDoc} */ + protected Document buildIntermediateDocument(Templates templates) + throws Exception { + Transformer transformer = templates.newTransformer(); + setErrorListener(transformer); //Set up XMLRenderer to render to a DOM - TransformerHandler handler = tFactory.newTransformerHandler(); + TransformerHandler handler = env.getTransformerFactory().newTransformerHandler(); DOMResult domResult = new DOMResult(); handler.setResult(domResult); @@ -196,7 +80,7 @@ //Create an instance of the target renderer so the XMLRenderer can use its font setup Renderer targetRenderer = userAgent.getRendererFactory().createRenderer( - userAgent, MimeConstants.MIME_PDF); + userAgent, getTargetMIME()); XMLRenderer renderer = new XMLRenderer(); renderer.mimicRenderer(targetRenderer); @@ -207,27 +91,29 @@ Fop fop = fopFactory.newFop(MimeConstants.MIME_FOP_AREA_TREE, userAgent); Result res = new SAXResult(fop.getDefaultHandler()); - transformer.transform(src, res); + transformer.transform(new DOMSource(testDoc), res); return (Document)domResult.getNode(); } - private void parseAndRender(Source src, OutputStream out, String mime) throws Exception { + /** {@inheritDoc} */ + protected void parseAndRender(Source src, OutputStream out) throws Exception { AreaTreeParser parser = new AreaTreeParser(); FOUserAgent userAgent = createUserAgent(); FontInfo fontInfo = new FontInfo(); AreaTreeModel treeModel = new RenderPagesModel(userAgent, - mime, fontInfo, out); + getTargetMIME(), fontInfo, out); parser.parse(src, treeModel, userAgent); treeModel.endDocument(); } - private Document parseAndRenderToAreaTree(Source src) throws Exception { + /** {@inheritDoc} */ + protected Document parseAndRenderToIntermediateFormat(Source src) throws Exception { AreaTreeParser parser = new AreaTreeParser(); //Set up XMLRenderer to render to a DOM - TransformerHandler handler = tFactory.newTransformerHandler(); + TransformerHandler handler = env.getTransformerFactory().newTransformerHandler(); DOMResult domResult = new DOMResult(); handler.setResult(domResult); XMLRenderer renderer = new XMLRenderer(); Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java ------------------------------------------------------------------------------ svn:keywords = Id Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Sun Feb 22 12:40:44 2009 @@ -0,0 +1,2 @@ +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java:603620-746655 +/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java:603620-677588 Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java ------------------------------------------------------------------------------ svn:keywords = Id Propchange: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Sun Feb 22 12:40:44 2009 @@ -0,0 +1,2 @@ +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/test/java/org/apache/fop/intermediate/IFParserTestCase.java:603620-746655 +/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java:603620-677588 Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java Sun Feb 22 12:40:44 2009 @@ -46,18 +46,18 @@ Iterator i = files.iterator(); while (i.hasNext()) { File f = (File)i.next(); - addTestCase(suite, f); + addIFTestCase(suite, f); } return suite; } - private static void addTestCase(TestSuite suite, - final File f) { - suite.addTest(new AreaTreeParserTestCase(f) { + private static void addIFTestCase(TestSuite suite, + final File f) throws IOException { + suite.addTest(new IFParserTestCase(f) { public void runTest() throws Exception { try { - testParserToAT(); + testParserToIntermediateFormat(); testParserToPDF(); } catch (Exception e) { org.apache.commons.logging.LogFactory.getLog( Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/EvalCheck.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/EvalCheck.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/EvalCheck.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/EvalCheck.java Sun Feb 22 12:40:44 2009 @@ -21,16 +21,20 @@ import javax.xml.transform.TransformerException; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + import org.apache.xml.utils.PrefixResolver; import org.apache.xml.utils.PrefixResolverDefault; import org.apache.xpath.XPathAPI; import org.apache.xpath.objects.XObject; -import org.w3c.dom.Node; + +import org.apache.fop.intermediate.IFCheck; /** * Simple check that requires an XPath expression to evaluate to true. */ -public class EvalCheck implements LayoutEngineCheck { +public class EvalCheck implements LayoutEngineCheck, IFCheck { private String expected; private String xpath; @@ -61,11 +65,20 @@ this.prefixResolver = new PrefixResolverDefault(node); } - /** @see org.apache.fop.layoutengine.LayoutEngineCheck */ + /** {@inheritDoc} */ public void check(LayoutResult result) { + doCheck(result.getAreaTree()); + } + + /** {@inheritDoc} */ + public void check(Document intermediate) { + doCheck(intermediate); + } + + private void doCheck(Document doc) { XObject res; try { - res = XPathAPI.eval(result.getAreaTree(), xpath, prefixResolver); + res = XPathAPI.eval(doc, xpath, prefixResolver); } catch (TransformerException e) { throw new RuntimeException("XPath evaluation failed: " + e.getMessage()); } @@ -87,7 +100,7 @@ } } - /** @see java.lang.Object#toString() */ + /** {@inheritDoc} */ public String toString() { return "XPath: " + xpath; } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java Sun Feb 22 12:40:44 2009 @@ -26,21 +26,14 @@ import java.util.List; import java.util.Map; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Result; import javax.xml.transform.Source; -import javax.xml.transform.Templates; import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; -import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; -import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; @@ -50,13 +43,12 @@ import org.xml.sax.SAXException; -import org.apache.xpath.XPathAPI; -import org.apache.xpath.objects.XObject; - import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.FormattingResults; +import org.apache.fop.events.model.EventSeverity; +import org.apache.fop.intermediate.IFTester; import org.apache.fop.layoutmgr.ElementListObserver; import org.apache.fop.render.xml.XMLRenderer; import org.apache.fop.util.ConsoleEventListenerForTests; @@ -67,25 +59,18 @@ */ public class LayoutEngineTester { - private static final Map CHECK_CLASSES = new java.util.HashMap(); - - // configure fopFactory as desired - private FopFactory fopFactory = FopFactory.newInstance(); - private FopFactory fopFactoryWithBase14Kerning = FopFactory.newInstance(); + private static final Map AT_CHECK_CLASSES = new java.util.HashMap(); - private SAXTransformerFactory tfactory - = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); - - private Templates testcase2fo; - private Templates testcase2checks; + private TestEnvironment env = new TestEnvironment(); private File areaTreeBackupDir; + private IFTester ifTester; static { - CHECK_CLASSES.put("true", TrueCheck.class); - CHECK_CLASSES.put("eval", EvalCheck.class); - CHECK_CLASSES.put("element-list", ElementListCheck.class); - CHECK_CLASSES.put("result", ResultCheck.class); + AT_CHECK_CLASSES.put("true", TrueCheck.class); + AT_CHECK_CLASSES.put("eval", EvalCheck.class); + AT_CHECK_CLASSES.put("element-list", ElementListCheck.class); + AT_CHECK_CLASSES.put("result", ResultCheck.class); } /** @@ -95,26 +80,7 @@ */ public LayoutEngineTester(File areaTreeBackupDir) { this.areaTreeBackupDir = areaTreeBackupDir; - fopFactory.getFontManager().setBase14KerningEnabled(false); - fopFactoryWithBase14Kerning.getFontManager().setBase14KerningEnabled(true); - } - - private Templates getTestcase2FOStylesheet() throws TransformerConfigurationException { - if (testcase2fo == null) { - //Load and cache stylesheet - Source src = new StreamSource(new File("test/layoutengine/testcase2fo.xsl")); - testcase2fo = tfactory.newTemplates(src); - } - return testcase2fo; - } - - private Templates getTestcase2ChecksStylesheet() throws TransformerConfigurationException { - if (testcase2checks == null) { - //Load and cache stylesheet - Source src = new StreamSource(new File("test/layoutengine/testcase2checks.xsl")); - testcase2checks = tfactory.newTemplates(src); - } - return testcase2checks; + this.ifTester = new IFTester(areaTreeBackupDir); } /** @@ -136,30 +102,23 @@ Fop fop; try { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - dbf.setNamespaceAware(true); - dbf.setValidating(false); - DocumentBuilder builder = dbf.newDocumentBuilder(); - Document testDoc = builder.parse(testFile); - - XObject xo = XPathAPI.eval(testDoc, "/testcase/cfg/base14kerning"); - String s = xo.str(); - boolean base14kerning = ("true".equalsIgnoreCase(s)); - FopFactory effFactory = (base14kerning ? fopFactoryWithBase14Kerning : fopFactory); + Document testDoc = env.loadTestCase(testFile); + FopFactory effFactory = env.getFopFactory(testDoc); //Setup Transformer to convert the testcase XML to XSL-FO - Transformer transformer = getTestcase2FOStylesheet().newTransformer(); + Transformer transformer = env.getTestcase2FOStylesheet().newTransformer(); Source src = new DOMSource(testDoc); //Setup Transformer to convert the area tree to a DOM - TransformerHandler athandler = tfactory.newTransformerHandler(); + TransformerHandler athandler; + athandler = env.getTransformerFactory().newTransformerHandler(); athandler.setResult(domres); //Setup FOP for area tree rendering FOUserAgent ua = effFactory.newFOUserAgent(); ua.setBaseURL(testFile.getParentFile().toURL().toString()); ua.getEventBroadcaster().addEventListener( - new ConsoleEventListenerForTests(testFile.getName())); + new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN)); XMLRenderer atrenderer = new XMLRenderer(); atrenderer.setUserAgent(ua); @@ -175,7 +134,8 @@ Document doc = (Document)domres.getNode(); if (this.areaTreeBackupDir != null) { - saveAreaTreeXML(doc, new File(this.areaTreeBackupDir, testFile.getName() + ".at.xml")); + env.saveDOM(doc, + new File(this.areaTreeBackupDir, testFile.getName() + ".at.xml")); } FormattingResults results = fop.getResults(); LayoutResult result = new LayoutResult(doc, elCollector, results); @@ -183,13 +143,13 @@ } /** - * Factory method to create checks from DOM elements. + * Factory method to create AT checks from DOM elements. * @param el DOM element to create the check from * @return The newly create check */ - protected LayoutEngineCheck createCheck(Element el) { + protected LayoutEngineCheck createATCheck(Element el) { String name = el.getTagName(); - Class clazz = (Class)CHECK_CLASSES.get(name); + Class clazz = (Class)AT_CHECK_CLASSES.get(name); if (clazz != null) { try { Constructor c = clazz.getDeclaredConstructor(new Class[] {Node.class}); @@ -204,31 +164,58 @@ } } + /** - * Perform all checks on the area tree. + * Perform all checks on the area tree and, optionally, on the intermediate format. * @param testFile Test case XML file * @param result The layout results * @throws TransformerException if a problem occurs in XSLT/JAXP */ protected void checkAll(File testFile, LayoutResult result) throws TransformerException { - Transformer transformer = getTestcase2ChecksStylesheet().newTransformer(); + Transformer transformer = env.getTestcase2ChecksStylesheet().newTransformer(); Source src = new StreamSource(testFile); DOMResult res = new DOMResult(); transformer.transform(src, res); - List checks = new java.util.ArrayList(); Document doc = (Document)res.getNode(); - NodeList nodes = doc.getDocumentElement().getChildNodes(); + Element root = doc.getDocumentElement(); + + NodeList nodes; + //AT tests only when checks are available + nodes = root.getElementsByTagName("at-checks"); + if (nodes.getLength() > 0) { + Element atChecks = (Element)nodes.item(0); + doATChecks(atChecks, result); + } + + //IF tests only when checks are available + nodes = root.getElementsByTagName("if-checks"); + if (nodes.getLength() > 0) { + Element ifChecks = (Element)nodes.item(0); + ifTester.doIFChecks(testFile, ifChecks, result.getAreaTree()); + } + } + + private void doATChecks(Element checksRoot, LayoutResult result) { + //First create check before actually running them + List checks = new java.util.ArrayList(); + NodeList nodes = checksRoot.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node instanceof Element) { - checks.add(createCheck((Element)node)); + checks.add(createATCheck((Element)node)); } } if (checks.size() == 0) { throw new RuntimeException("No checks are available!"); } + + //Run the actual tests now that we know that the checks themselves are ok + doATChecks(checks, result); + } + + private void doATChecks(List checks, LayoutResult result) { Iterator i = checks.iterator(); while (i.hasNext()) { LayoutEngineCheck check = (LayoutEngineCheck)i.next(); @@ -236,16 +223,4 @@ } } - /** - * Save the area tree XML for later inspection. - * @param doc area tree as a DOM document - * @param target target file - * @throws TransformerException if a problem occurs during serialization - */ - protected void saveAreaTreeXML(Document doc, File target) throws TransformerException { - Transformer transformer = tfactory.newTransformer(); - Source src = new DOMSource(doc); - Result res = new StreamResult(target); - transformer.transform(src, res); - } } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TrueCheck.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TrueCheck.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TrueCheck.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TrueCheck.java Sun Feb 22 12:40:44 2009 @@ -21,17 +21,21 @@ import javax.xml.transform.TransformerException; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + import org.apache.xml.utils.PrefixResolver; import org.apache.xml.utils.PrefixResolverDefault; import org.apache.xpath.XPathAPI; import org.apache.xpath.objects.XBoolean; import org.apache.xpath.objects.XObject; -import org.w3c.dom.Node; + +import org.apache.fop.intermediate.IFCheck; /** * Simple check that requires an XPath expression to evaluate to true. */ -public class TrueCheck implements LayoutEngineCheck { +public class TrueCheck implements LayoutEngineCheck, IFCheck { private String xpath; private String failureMessage; @@ -58,11 +62,20 @@ this.prefixResolver = new PrefixResolverDefault(node); } - /** @see org.apache.fop.layoutengine.LayoutEngineCheck */ + /** {@inheritDoc} */ public void check(LayoutResult result) { + doCheck(result.getAreaTree()); + } + + /** {@inheritDoc} */ + public void check(Document intermediate) { + doCheck(intermediate); + } + + private void doCheck(Document doc) { XObject res; try { - res = XPathAPI.eval(result.getAreaTree(), xpath, prefixResolver); + res = XPathAPI.eval(doc, xpath, prefixResolver); } catch (TransformerException e) { throw new RuntimeException("XPath evaluation failed: " + e.getMessage()); } @@ -78,7 +91,7 @@ } - /** @see java.lang.Object#toString() */ + /** {@inheritDoc} */ public String toString() { return "XPath: " + xpath; } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/pdf/PDFObjectTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/pdf/PDFObjectTestCase.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/pdf/PDFObjectTestCase.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/pdf/PDFObjectTestCase.java Sun Feb 22 12:40:44 2009 @@ -56,4 +56,22 @@ } + /** + * Tests PDF object references. + * @throws Exception if an error occurs + */ + public void testReference() throws Exception { + PDFDictionary dict = new PDFDictionary(); + dict.setObjectNumber(7); + PDFReference ref = dict.makeReference(); + assertEquals(ref.getObjectNumber(), 7); + assertEquals(ref.getGeneration(), 0); + assertEquals(ref.toString(), "7 0 R"); + + ref = new PDFReference("8 0 R"); + assertEquals(ref.getObjectNumber(), 8); + assertEquals(ref.getGeneration(), 0); + assertEquals(ref.toString(), "8 0 R"); + } + } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/util/ConsoleEventListenerForTests.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/util/ConsoleEventListenerForTests.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/util/ConsoleEventListenerForTests.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/util/ConsoleEventListenerForTests.java Sun Feb 22 12:40:44 2009 @@ -28,29 +28,62 @@ public class ConsoleEventListenerForTests implements EventListener { private String name; + private EventSeverity logLevel; + /** + * Creates a new event listener with console output on severity INFO. This object will + * write out the name of the test before the first log message. + * @param name the name of the test + */ public ConsoleEventListenerForTests(String name) { + this(name, EventSeverity.INFO); + } + + /** + * Creates a new event listener with console output. This object will + * write out the name of the test before the first log message. + * @param name the name of the test + * @param logLevel the logging level + */ + public ConsoleEventListenerForTests(String name, EventSeverity logLevel) { this.name = name; + this.logLevel = logLevel; } /** {@inheritDoc} */ public void processEvent(Event event) { + EventSeverity severity = event.getSeverity(); + if (severity == EventSeverity.FATAL) { + log("FATAL", event); + return; + } + if (logLevel == EventSeverity.FATAL) { + return; + } + if (severity == EventSeverity.ERROR) { + log("ERROR", event); + return; + } + if (logLevel == EventSeverity.ERROR) { + return; + } + if (severity == EventSeverity.WARN) { + log("WARN ", event); + } + if (logLevel == EventSeverity.WARN) { + return; + } + if (severity == EventSeverity.INFO) { + log("INFO ", event); + } + } + + private void log(String levelString, Event event) { if (this.name != null) { System.out.println("Test: " + this.name); this.name = null; } String msg = EventFormatter.format(event); - EventSeverity severity = event.getSeverity(); - if (severity == EventSeverity.INFO) { - System.out.println(" [INFO ] " + msg); - } else if (severity == EventSeverity.WARN) { - System.out.println(" [WARN ] " + msg); - } else if (severity == EventSeverity.ERROR) { - System.out.println(" [ERROR] " + msg); - } else if (severity == EventSeverity.FATAL) { - System.out.println(" [FATAL] " + msg); - } else { - assert false; - } + System.out.println(" [" + levelString + "] " + msg); } } \ No newline at end of file Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java Sun Feb 22 12:40:44 2009 @@ -35,9 +35,11 @@ import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.commons.io.IOUtils; + import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; +import org.apache.fop.util.DefaultErrorListener; /** * BitmapProducer implementation that uses the PS or PDF renderer and an external converter @@ -70,11 +72,16 @@ private String converter; private boolean deleteTempFiles; + /** the bitmap producer's target format */ + protected String targetFormat; - /** @see org.apache.avalon.framework.configuration.Configurable */ + /** {@inheritDoc} */ public void configure(Configuration cfg) throws ConfigurationException { this.converter = cfg.getChild("converter").getValue(); this.deleteTempFiles = cfg.getChild("delete-temp-files").getValueAsBoolean(true); + if (cfg.getChild("target-format", false) != null) { + this.targetFormat = cfg.getChild("target-format").getValue(); + } } /** @@ -106,19 +113,21 @@ /** * @return the output format for the FOP renderer, i.e. a MIME type. */ - protected abstract String getTargetFormat(); + protected String getTargetFormat() { + return this.targetFormat; + } - /** @see org.apache.fop.visual.BitmapProducer */ - public BufferedImage produce(File src, ProducerContext context) { + /** {@inheritDoc} */ + public BufferedImage produce(File src, int index, ProducerContext context) { try { FOUserAgent userAgent = fopFactory.newFOUserAgent(); userAgent.setTargetResolution(context.getTargetResolution()); userAgent.setBaseURL(src.getParentFile().toURL().toString()); File tempOut = new File(context.getTargetDir(), - src.getName() + "." + getTargetExtension()); + src.getName() + "." + index + "." + getTargetExtension()); File tempPNG = new File(context.getTargetDir(), - src.getName() + "." + getTargetExtension() + ".png"); + src.getName() + "." + index + "." + getTargetExtension() + ".png"); try { OutputStream out = new FileOutputStream(tempOut); out = new BufferedOutputStream(out); @@ -127,6 +136,7 @@ SAXResult res = new SAXResult(fop.getDefaultHandler()); Transformer transformer = getTransformer(context); + transformer.setErrorListener(new DefaultErrorListener(log)); transformer.transform(new StreamSource(src), res); } finally { IOUtils.closeQuietly(out); Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java Sun Feb 22 12:40:44 2009 @@ -35,8 +35,10 @@ import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; import org.apache.avalon.framework.container.ContainerUtil; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.filefilter.AndFileFilter; import org.apache.commons.io.filefilter.IOFileFilter; import org.apache.commons.io.filefilter.SuffixFileFilter; +import org.apache.commons.io.filefilter.WildcardFileFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -164,6 +166,14 @@ if (cfg.getChild("filter-disabled").getValueAsBoolean(true)) { filter = LayoutEngineTestSuite.decorateWithDisabledList(filter); } + String manualFilter = cfg.getChild("manual-filter").getValue(null); + if (manualFilter != null) { + if (manualFilter.indexOf('*') < 0) { + manualFilter = manualFilter + '*'; + } + filter = new AndFileFilter( + new WildcardFileFilter(manualFilter), filter); + } int maxfiles = cfg.getChild("max-files").getValueAsInteger(-1); Collection files = FileUtils.listFiles(srcDir, filter, null); @@ -176,7 +186,7 @@ final BufferedImage[] bitmaps = new BufferedImage[producers.length]; for (int j = 0; j < producers.length; j++) { times[j] = System.currentTimeMillis(); - bitmaps[j] = producers[j].produce(f, context); + bitmaps[j] = producers[j].produce(f, j, context); times[j] = System.currentTimeMillis() - times[j]; } if (log.isDebugEnabled()) { Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducer.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducer.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducer.java Sun Feb 22 12:40:44 2009 @@ -31,9 +31,10 @@ * Produces a BufferedImage from the source file by invoking the FO processor and * converting the generated output file to a bitmap image if necessary. * @param src the source FO or XML file + * @param index the index of the producer inside the test set * @param context context information for the conversion * @return the generated BufferedImage */ - BufferedImage produce(File src, ProducerContext context); + BufferedImage produce(File src, int index, ProducerContext context); } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerJava2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerJava2D.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerJava2D.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerJava2D.java Sun Feb 22 12:40:44 2009 @@ -33,10 +33,12 @@ import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.commons.io.IOUtils; + import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.MimeConstants; +import org.apache.fop.util.DefaultErrorListener; /** * BitmapProducer implementation that uses the Java2DRenderer to create bitmaps. @@ -64,13 +66,14 @@ } /** @see org.apache.fop.visual.BitmapProducer */ - public BufferedImage produce(File src, ProducerContext context) { + public BufferedImage produce(File src, int index, ProducerContext context) { try { FOUserAgent userAgent = fopFactory.newFOUserAgent(); userAgent.setTargetResolution(context.getTargetResolution()); userAgent.setBaseURL(src.getParentFile().toURL().toString()); - File outputFile = new File(context.getTargetDir(), src.getName() + ".java2d.png"); + File outputFile = new File(context.getTargetDir(), + src.getName() + "." + index + ".java2d.png"); OutputStream out = new FileOutputStream(outputFile); out = new BufferedOutputStream(out); try { @@ -78,6 +81,7 @@ SAXResult res = new SAXResult(fop.getDefaultHandler()); Transformer transformer = getTransformer(context); + transformer.setErrorListener(new DefaultErrorListener(log)); transformer.transform(new StreamSource(src), res); } finally { IOUtils.closeQuietly(out); Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPDF.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPDF.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPDF.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPDF.java Sun Feb 22 12:40:44 2009 @@ -29,14 +29,16 @@ */ public class BitmapProducerPDF extends AbstractPSPDFBitmapProducer { - /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */ - protected String getTargetExtension() { - return "pdf"; + /** + * Default constructor. + */ + public BitmapProducerPDF() { + this.targetFormat = MimeConstants.MIME_PDF; } - /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */ - protected String getTargetFormat() { - return MimeConstants.MIME_PDF; + /** {@inheritDoc} */ + protected String getTargetExtension() { + return "pdf"; } } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPS.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPS.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPS.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BitmapProducerPS.java Sun Feb 22 12:40:44 2009 @@ -29,15 +29,16 @@ */ public class BitmapProducerPS extends AbstractPSPDFBitmapProducer { - /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */ - protected String getTargetExtension() { - return "ps"; + /** + * Default constructor. + */ + public BitmapProducerPS() { + this.targetFormat = MimeConstants.MIME_POSTSCRIPT; } - /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */ - protected String getTargetFormat() { - return MimeConstants.MIME_POSTSCRIPT; + /** {@inheritDoc} */ + protected String getTargetExtension() { + return "ps"; } - } Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java Sun Feb 22 12:40:44 2009 @@ -51,7 +51,7 @@ } /** @see org.apache.fop.visual.BitmapProducer */ - public BufferedImage produce(File src, ProducerContext context) { + public BufferedImage produce(File src, int index, ProducerContext context) { try { File bitmap = new File(bitmapDirectory, src.getName() + ".png"); if (bitmap.exists()) { Modified: xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml Sun Feb 22 12:40:44 2009 @@ -216,11 +216,4 @@ A soft hyphen should be a preferred as break compared to a normal hyphenation point but is not. - - Borders and padding on page regions - simple-page-master_borders_padding.xml - Borders and padding on regions are now implemented but - relaxed validation must be switched on, otherwise there is a validation - exception. - Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_background-image.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_background-image.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_background-image.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_background-image.xml Sun Feb 22 12:40:44 2009 @@ -46,4 +46,9 @@ + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_letter-spacing.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_letter-spacing.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_letter-spacing.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_letter-spacing.xml Sun Feb 22 12:40:44 2009 @@ -62,4 +62,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/bookmarks_1.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/bookmarks_1.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/bookmarks_1.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/bookmarks_1.xml Sun Feb 22 12:40:44 2009 @@ -43,6 +43,9 @@ Section 2 + + Fixed Block Container + @@ -54,6 +57,11 @@ Blah blah bla. Section 2 Blah blah bla. + + + Text in a block-container. + + " @@ -73,6 +81,30 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_destination_1.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_destination_1.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_destination_1.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_destination_1.xml Sun Feb 22 12:40:44 2009 @@ -58,4 +58,21 @@ + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/kerning_1_on.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/kerning_1_on.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/kerning_1_on.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/kerning_1_on.xml Sun Feb 22 12:40:44 2009 @@ -40,6 +40,12 @@ VAVAV text-text Hello World. + + VAVAV text-text Hello World. + + + VAVAV text-text Hello World. + @@ -54,4 +60,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_1.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_1.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_1.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_1.xml Sun Feb 22 12:40:44 2009 @@ -65,4 +65,22 @@ + + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_2.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_2.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_2.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/ps-extension_2.xml Sun Feb 22 12:40:44 2009 @@ -92,4 +92,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/simple-page-master_borders_padding.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/simple-page-master_borders_padding.xml?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/simple-page-master_borders_padding.xml (original) +++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/simple-page-master_borders_padding.xml Sun Feb 22 12:40:44 2009 @@ -23,6 +23,9 @@ length evaluation using percentages is possible.

+ + false + @@ -119,8 +122,8 @@ - - + + Modified: xmlgraphics/fop/trunk/test/layoutengine/testcase2checks.xsl URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/testcase2checks.xsl?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/testcase2checks.xsl (original) +++ xmlgraphics/fop/trunk/test/layoutengine/testcase2checks.xsl Sun Feb 22 12:40:44 2009 @@ -22,16 +22,25 @@ - + + + + - + - + + + + + + + Modified: xmlgraphics/fop/trunk/test/test.xconf URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/test.xconf?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/test.xconf (original) +++ xmlgraphics/fop/trunk/test/test.xconf Sun Feb 22 12:40:44 2009 @@ -6,6 +6,18 @@ + + ascii-85 + + + null + + + null + + + null + Modified: xmlgraphics/fop/trunk/test/xsl/fo-replicator.xsl URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/xsl/fo-replicator.xsl?rev=746664&r1=746663&r2=746664&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/xsl/fo-replicator.xsl (original) +++ xmlgraphics/fop/trunk/test/xsl/fo-replicator.xsl Sun Feb 22 12:40:44 2009 @@ -50,15 +50,15 @@ - + - - + - - + - --------------------------------------------------------------------- To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org