Package org.custommonkey.xmlunit
Class NodeTest
- java.lang.Object
-
- org.custommonkey.xmlunit.NodeTest
-
public class NodeTest extends java.lang.Object
Encapsulation of the Node-by-Node testing of a DOM Document Uses a nodetype-specificNodeFilter
to pass the DOM Nodes to a NodeTester instance that performs the acual Node validation.- See Also:
NodeTester
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
NodeTest.NodeTypeNodeFilter
Node type specific Node Filter: accepts Nodes of those types specified in constructor, rejects all others
-
Field Summary
Fields Modifier and Type Field Description private org.w3c.dom.traversal.DocumentTraversal
documentTraversal
private org.w3c.dom.Node
rootNode
-
Constructor Summary
Constructors Constructor Description NodeTest(java.io.Reader reader)
Construct a NodeTest for the DOM built using the Reader and JAXPNodeTest(java.lang.String xmlString)
Construct a NodeTest for the DOM built using the String and JAXPNodeTest(org.w3c.dom.Document document)
Construct a NodeTest for the specified DocumentNodeTest(org.w3c.dom.traversal.DocumentTraversal documentTraversal, org.w3c.dom.Node rootNode)
Construct a NodeTest using the specified DocumentTraversal, starting at the specified root nodeNodeTest(org.xml.sax.InputSource src)
Construct a NodeTest for the DOM built using the InputSource.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static org.w3c.dom.traversal.DocumentTraversal
getDocumentTraversal(org.w3c.dom.Document document)
Try to cast a Document into a DocumentTraversalvoid
performTest(NodeTester tester, short singleNodeType)
Does this NodeTest pass using the specified NodeTester instance?void
performTest(NodeTester tester, short[] nodeTypes)
Does this NodeTest pass using the specified NodeTester instance?
-
-
-
Constructor Detail
-
NodeTest
public NodeTest(java.lang.String xmlString) throws org.xml.sax.SAXException, java.io.IOException
Construct a NodeTest for the DOM built using the String and JAXP- Throws:
org.xml.sax.SAXException
java.io.IOException
-
NodeTest
public NodeTest(java.io.Reader reader) throws org.xml.sax.SAXException, java.io.IOException
Construct a NodeTest for the DOM built using the Reader and JAXP- Throws:
org.xml.sax.SAXException
java.io.IOException
-
NodeTest
public NodeTest(org.xml.sax.InputSource src) throws org.xml.sax.SAXException, java.io.IOException
Construct a NodeTest for the DOM built using the InputSource.- Throws:
org.xml.sax.SAXException
java.io.IOException
-
NodeTest
public NodeTest(org.w3c.dom.Document document)
Construct a NodeTest for the specified Document- Throws:
java.lang.IllegalArgumentException
- if the Document does not support the DOM DocumentTraversal interface (most DOM implementations should provide this support)
-
NodeTest
public NodeTest(org.w3c.dom.traversal.DocumentTraversal documentTraversal, org.w3c.dom.Node rootNode)
Construct a NodeTest using the specified DocumentTraversal, starting at the specified root node
-
-
Method Detail
-
getDocumentTraversal
private static org.w3c.dom.traversal.DocumentTraversal getDocumentTraversal(org.w3c.dom.Document document)
Try to cast a Document into a DocumentTraversal- Parameters:
document
-- 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
-singleNodeType
- noteNode.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 fromNode.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
-nodeTypes
- noteNode.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 fromNode.ELEMENT_NODE
nodes instead- Throws:
NodeTestException
- if test fails
-
-