vgritsenko 2004/08/28 18:32:42
Modified: java/tests/src/org/apache/xindice/xml/dom TreeWalkerTest.java Log: improve treewalker test Revision Changes Path 1.2 +50 -2 xml-xindice/java/tests/src/org/apache/xindice/xml/dom/TreeWalkerTest.java Index: TreeWalkerTest.java =================================================================== RCS file: /home/cvs/xml-xindice/java/tests/src/org/apache/xindice/xml/dom/TreeWalkerTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TreeWalkerTest.java 27 Aug 2004 16:13:39 -0000 1.1 +++ TreeWalkerTest.java 29 Aug 2004 01:32:42 -0000 1.2 @@ -22,6 +22,7 @@ import junit.framework.TestCase; import org.w3c.dom.Node; +import org.w3c.dom.DOMException; import org.w3c.dom.traversal.NodeFilter; import org.w3c.dom.traversal.TreeWalker; @@ -57,6 +58,29 @@ assertEquals("a", tw.getRoot().getLocalName()); } + public void testWhatToShow() throws Exception { + TreeWalker tw = new TreeWalkerImpl(dom, NodeFilter.SHOW_COMMENT, null, false); + assertEquals(NodeFilter.SHOW_COMMENT, tw.getWhatToShow()); + assertEquals(null, tw.nextNode()); + } + + public void testFilter() throws Exception { + NodeFilter nf = new NodeFilter() { + public short acceptNode(Node node) { + if ("b".equals(node.getNodeName()) || "f".equals(node.getNodeName())) { + return NodeFilter.FILTER_ACCEPT; + } + return NodeFilter.FILTER_SKIP; + } + }; + + TreeWalker tw = new TreeWalkerImpl(dom, NodeFilter.SHOW_ALL, nf, false); + assertEquals(nf, tw.getFilter()); + assertEquals("b", tw.nextNode().getNodeName()); + assertEquals("f", tw.nextNode().getNodeName()); + assertEquals(null, tw.nextNode()); + } + public void testNextNode() throws Exception { TreeWalker tw = new TreeWalkerImpl(dom, NodeFilter.SHOW_ALL, null, false); assertEquals("a", tw.getCurrentNode().getLocalName()); @@ -99,5 +123,29 @@ assertEquals("i", tw.getCurrentNode().getLocalName()); assertEquals(null, tw.nextNode()); assertEquals("i", tw.getCurrentNode().getLocalName()); + + try { + tw.setCurrentNode(null); + fail("Exception expected"); + } catch (DOMException e) { + } + assertEquals("i", tw.getCurrentNode().getLocalName()); + } + + public void testParentNode() throws Exception { + TreeWalker tw = new TreeWalkerImpl(dom, NodeFilter.SHOW_ALL, null, false); + // Go to F node + tw.nextNode(); + tw.nextNode(); + tw.nextNode(); + tw.nextNode(); + tw.nextNode(); + assertEquals("f", tw.getCurrentNode().getLocalName()); + + assertEquals("d", tw.parentNode().getLocalName()); + assertEquals("c", tw.parentNode().getLocalName()); + assertEquals("a", tw.parentNode().getLocalName()); + assertEquals(null, tw.parentNode()); } + }