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
`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
`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