Class NodeTest

java.lang.Object
org.custommonkey.xmlunit.NodeTest

public class NodeTest extends Object
Encapsulation of the Node-by-Node testing of a DOM Document Uses a nodetype-specific NodeFilter to pass the DOM Nodes to a NodeTester instance that performs the acual Node validation.
See Also:
  • Field Details

    • documentTraversal

      private final DocumentTraversal documentTraversal
    • rootNode

      private final Node rootNode
  • Constructor Details

    • NodeTest

      public NodeTest(String xmlString) throws SAXException, IOException
      Construct a NodeTest for the DOM built using the String and JAXP
      Parameters:
      xmlString - the XML to test
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • NodeTest

      public NodeTest(Reader reader) throws SAXException, IOException
      Construct a NodeTest for the DOM built using the Reader and JAXP
      Parameters:
      reader - the XML to test
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • NodeTest

      public NodeTest(InputSource src) throws SAXException, IOException
      Construct a NodeTest for the DOM built using the InputSource.
      Parameters:
      src - the XML to test
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • NodeTest

      public NodeTest(Document document)
      Construct a NodeTest for the specified Document
      Parameters:
      document - the XML to test
      Throws:
      IllegalArgumentException - if the Document does not support the DOM DocumentTraversal interface (most DOM implementations should provide this support)
    • NodeTest

      public NodeTest(DocumentTraversal documentTraversal, Node rootNode)
      Construct a NodeTest using the specified DocumentTraversal, starting at the specified root node
      Parameters:
      documentTraversal - traversal
      rootNode - starting node for test
  • Method Details

    • getDocumentTraversal

      private static DocumentTraversal getDocumentTraversal(Document document)
      Try to cast a Document into a DocumentTraversal
      Returns:
      DocumentTraversal interface if the DOM implementation supports it
    • performTest

      public void performTest(NodeTester tester, short singleNodeType) throws NodeTestException
      Does this NodeTest pass using the specified NodeTester instance?
      Parameters:
      tester - actually performs the tests
      singleNodeType - note Node.ATTRIBUTE_NODE is not exposed by the DocumentTraversal node iterator unless the root node is itself an attribute - so a NodeTester that needs to test attributes should obtain those attributes from Node.ELEMENT_NODE nodes
      Throws:
      NodeTestException - if test fails
    • performTest

      public void performTest(NodeTester tester, short[] nodeTypes) throws NodeTestException
      Does this NodeTest pass using the specified NodeTester instance?
      Parameters:
      tester - actually performs the tests
      nodeTypes - note Node.ATTRIBUTE_NODE is not exposed by the DocumentTraversal node iterator unless the root node is itself an attribute - so a NodeTester that needs to test attributes should obtain those attributes from Node.ELEMENT_NODE nodes instead
      Throws:
      NodeTestException - if test fails