Class SelfContainedSVGOnLoadTest

java.lang.Object
org.apache.batik.test.AbstractTest
org.apache.batik.test.svg.SelfContainedSVGOnLoadTest
All Implemented Interfaces:
Test

public class SelfContainedSVGOnLoadTest extends AbstractTest
This test takes an SVG file as an input. It processes the input SVG (meaning it turns it into a GVT tree) and then dispatches the 'onload' event. The SVG input file should contain script that will position the result of the test in the DOM using the following namespace:
xmlns:test="http://xml.apache.org/batik/test"
The result should be set in the result attribute of the <testResult> element by the script embeded in the input SVG test file.
Sample input SVG file:
<svg ... onload="runTest(evt)" xmlns:test="http://xml.apache.org/batik/test" > <script type="text/ecmascript"> function runTest(evt) { ...; // do some test var rootSvg = document.getDocumentElement(); var result = document.createElementNS("http://xml.apache.org/batik/test", "testResult"); result.setAttributeNS(null, "result", "failed"); result.setAttributeNS(null, "errorCode", "org.apache.batik.css.dom.wrong.computed.value"); rootSvg.appendChild(result); } </script> </svg>
Version:
$Id: SelfContainedSVGOnLoadTest.java 1806580 2017-08-29 12:06:44Z ssteiner $
  • Field Details

    • ERROR_CANNOT_LOAD_SVG_DOCUMENT

      public static final String ERROR_CANNOT_LOAD_SVG_DOCUMENT
      Error when the input file cannot be loaded into a Document object {0} = IOException message
      See Also:
    • ERROR_WHILE_PROCESSING_SVG_DOCUMENT

      public static final String ERROR_WHILE_PROCESSING_SVG_DOCUMENT
      Error while building the GVT tree or dispatching the 'onload' event.
      See Also:
    • ERROR_UNEXPECTED_NUMBER_OF_TEST_RESULT_ELEMENTS

      public static final String ERROR_UNEXPECTED_NUMBER_OF_TEST_RESULT_ELEMENTS
      There is either 0 or more than one <testResult> elements in the document after dispatching the onload event.
      See Also:
    • ERROR_UNEXPECTED_RESULT_VALUE

      public static final String ERROR_UNEXPECTED_RESULT_VALUE
      The 'result' attribute value is neither 'passed' nor 'failed'
      See Also:
    • ERROR_MISSING_OR_EMPTY_ERROR_CODE_ON_FAILED_TEST

      public static final String ERROR_MISSING_OR_EMPTY_ERROR_CODE_ON_FAILED_TEST
      The result was 'failed' but there was no 'errorCode' attribute or it was the empty string
      See Also:
    • ENTRY_KEY_ERROR_DESCRIPTION

      public static final String ENTRY_KEY_ERROR_DESCRIPTION
      Entry describing the error
      See Also:
    • ENTRY_KEY_NUMBER_OF_TEST_RESULT_ELEMENTS

      public static final String ENTRY_KEY_NUMBER_OF_TEST_RESULT_ELEMENTS
      Entry describing the number of testResult elements found in the document after dispatching onload.
      See Also:
    • ENTRY_KEY_RESULT_VALUE

      public static final String ENTRY_KEY_RESULT_VALUE
      Entry describing the result value (different from 'passed' or 'failed' found in the 'result' attribute.
      See Also:
    • testNS

      public static final String testNS
      Test Namespace
      See Also:
    • TAG_TEST_RESULT

      public static final String TAG_TEST_RESULT
      Test Constants
      See Also:
    • TAG_ERROR_DESCRIPTION_ENTRY

      public static final String TAG_ERROR_DESCRIPTION_ENTRY
      See Also:
    • ATTRIBUTE_RESULT

      public static final String ATTRIBUTE_RESULT
      See Also:
    • ATTRIBUTE_KEY

      public static final String ATTRIBUTE_KEY
      See Also:
    • ATTRIBUTE_VALUE

      public static final String ATTRIBUTE_VALUE
      See Also:
    • TEST_RESULT_PASSED

      public static final String TEST_RESULT_PASSED
      See Also:
    • TEST_RESULT_FAILED

      public static final String TEST_RESULT_FAILED
      See Also:
    • svgURL

      protected String svgURL
      The URL for the input SVG document to be tested
  • Constructor Details

    • SelfContainedSVGOnLoadTest

      public SelfContainedSVGOnLoadTest(String svgURL)
      Parameters:
      svgURL - the URL string for the SVG document being tested
    • SelfContainedSVGOnLoadTest

      protected SelfContainedSVGOnLoadTest()
      Default constructor
  • Method Details

    • resolveURL

      protected String resolveURL(String url)
      Resolves the input string as follows. + First, the string is interpreted as a file description. If the file exists, then the file name is turned into a URL. + Otherwise, the string is supposed to be a URL. If it is an invalid URL, an IllegalArgumentException is thrown.
    • runImpl

      public TestReport runImpl() throws Exception
      Run this test and produce a report. The test goes through the following steps:
      • load the input SVG into a Document
      • build the GVT tree corresponding to the Document and dispatch the 'onload' event
      • looks for one and only one <testResult> element in the Document. This is used to build the returned TestReport
      Overrides:
      runImpl in class AbstractTest
      Throws:
      Exception
    • buildUserAgent

      protected UserAgent buildUserAgent()
      Give subclasses a chance to build their own UserAgent