Class TestConverter


  • public class TestConverter
    extends java.lang.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 Description
      protected org.apache.commons.logging.impl.SimpleLog logger
      logging instance
    • Constructor Summary

      Constructors 
      Constructor Description
      TestConverter()
      Construct a new TestConverter
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean compareFiles​(java.io.File f1, java.io.File f2)
      Compare files.
      static void main​(java.lang.String[] args)
      This main method can be used to run the test converter from the command line.
      protected void runTest​(org.w3c.dom.Node testcase, org.w3c.dom.Node test)
      Run a particular test.
      protected void runTestCase​(org.w3c.dom.Node tcase)
      Run a test case.
      java.util.Map runTests​(java.lang.String fname, java.lang.String dest, java.lang.String compDir)
      Run the Tests.
      void setBaseDir​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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 java.util.Map runTests​(java.lang.String fname,
                                      java.lang.String dest,
                                      java.lang.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​(org.w3c.dom.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​(org.w3c.dom.Node testcase,
                               org.w3c.dom.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​(java.io.File f1,
                                       java.io.File f2)
        Compare files.
        Parameters:
        f1 - first file
        f2 - second file
        Returns:
        true if equal