org.apache.fop.tools

## Class TestConverter

- java.lang.Object
- - org.apache.fop.tools.TestConverter

-     public class TestConverter
      extends Object

  TestConverter is used to process a set of tests specified in a testsuite. This class retrieves the data in the testsuite and uses FOP to convert the xml and xsl file into either an xml representation of the area tree or a pdf document. The area tree can be used for automatic comparisons between different versions of FOP or the pdf can be view for manual checking and pdf rendering.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected org.apache.commons.logging.impl.SimpleLog` | `logger` logging instance

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TestConverter()` Construct a new TestConverter

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `compareFiles(File f1, File f2)` Compare files.
    `static void` | `main(String[] args)` This main method can be used to run the test converter from the command line.
    `protected void` | `runTest(Node testcase, Node test)` Run a particular test.
    `protected void` | `runTestCase(Node tcase)` Run a test case.
    `Map` | `runTests(String fname, String dest, String compDir)` Run the Tests.
    `void` | `setBaseDir(String str)` Sets the base directory.
    `void` | `setDebug(boolean debug)` Controls whether to set logging to debug level
    `void` | `setFailOnly(boolean fail)` Controls whether to process only the tests which are specified as fail in the test results.
    `void` | `setOutputFormat(String outputFormat)` Controls output format to generate

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected org.apache.commons.logging.impl.SimpleLog logger

      logging instance

  - ### Constructor Detail

    - #### TestConverter

          public TestConverter()

      Construct a new TestConverter

  - ### Method Detail

    - #### main

          public static void main(String[] args)

      This main method can be used to run the test converter from the command line. This will take a specified testsuite xml and process all tests in it. The command line options are: -b to set the base directory for where the testsuite and associated files are -failOnly to process only the tests which are specified as fail in the test results -pdf to output the result as pdf
      Parameters:
        `args` - command-line arguments

    - #### setOutputFormat

          public void setOutputFormat(String outputFormat)

      Controls output format to generate
      Parameters:
        `outputFormat` - the MIME type of the output format

    - #### setFailOnly

          public void setFailOnly(boolean fail)

      Controls whether to process only the tests which are specified as fail in the test results.
      Parameters:
        `fail` - True if only fail tests should be processed

    - #### setBaseDir

          public void setBaseDir(String str)

      Sets the base directory.
      Parameters:
        `str` - base directory

    - #### setDebug

          public void setDebug(boolean debug)

      Controls whether to set logging to debug level
      Parameters:
        `debug` - If true, debug level, if false, error level

    - #### runTests

          public Map runTests(String fname,
                              String dest,
                              String compDir)

      Run the Tests. This runs the tests specified in the xml file fname. The document is read as a dom and each testcase is covered.
      Parameters:
        `fname` - filename of the input file
        `dest` - destination directory
        `compDir` - comparison directory
      Returns:
        Map a Map containing differences

    - #### runTestCase

          protected void runTestCase(Node tcase)

      Run a test case. This goes through a test case in the document. A testcase can contain a test, a result or more test cases. A test case is handled recursively otherwise the test is run.
      Parameters:
        `tcase` - Test case node to run

    - #### runTest

          protected void runTest(Node testcase,
                                 Node test)

      Run a particular test. This runs a test defined by the xml and xsl documents. If the test has a result specified it is checked. This creates an XSLTInputHandler to provide the input for FOP and writes the data out to an XML are tree.
      Parameters:
        `testcase` - Test case to run
        `test` - Test

    - #### compareFiles

          protected boolean compareFiles(File f1,
                                         File f2)

      Compare files.
      Parameters:
        `f1` - first file
        `f2` - second file
      Returns:
        true if equal

Copyright © 2023 Apache Software Foundation. All rights reserved.