| <html> |
| <head> |
| <script language="JavaScript"> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function log(message) { |
| var console = document.getElementById("console"); |
| var li = document.createElement("li"); |
| var text = document.createTextNode(message); |
| li.appendChild(text); |
| console.appendChild(li); |
| } |
| |
| function iteratorTest() { |
| log("NodeIterator: testing nextNode() (5 should be null)"); |
| var iterator = document.createNodeIterator(divB, NodeFilter.SHOW_ELEMENT, null, false); |
| iterator.root = divB; |
| for (i=0; i < 4; i++) |
| log(iterator.nextNode()); |
| |
| log("NodeIterator: testing previousNode() (7 should be null)"); |
| iterator = document.createNodeIterator(divB, NodeFilter.SHOW_ELEMENT, null, false); |
| log(iterator.previousNode()); |
| |
| log("TreeWalker: testing nextNode() (11 should be null)"); |
| iterator = document.createTreeWalker(divB, NodeFilter.SHOW_ELEMENT, null, false); |
| for (i=0; i < 3; i++) |
| log(iterator.nextNode()); |
| |
| log("TreeWalker: testing previousNode() (13 should be null)"); |
| iterator = document.createTreeWalker(divB, NodeFilter.SHOW_ELEMENT, null, false); |
| log(iterator.previousNode()); |
| } |
| </script> |
| </head> |
| |
| <body> |
| <div id="divA"> |
| This test checks that the NodeIterator and TreeWalker functions do not go past the root element that they are supposed to stay within. |
| <div id="divB"> |
| <div id="divC"> |
| </div> |
| <div id="divD"> |
| </div> |
| |
| </div> |
| </div> |
| |
| <ol id="console" > </ol> |
| |
| <script> |
| iteratorTest(); |
| </script> |
| |
| </body> |
| |
| </html> |