<html> 
<head>
<script src=traversal.js language="JavaScript" type="text/JavaScript" ></script>
<title>Traversal Test</title> 
</head> 
<body>
<div id="test">
<span id="A"></span><span id="B"></span><span id="C"></span>
</div>
<div style="font-family: Courier; font-size: 14;">
<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();

var root = document.getElementById('test');

function testNodeFiter(n)
{
    if (n.tagName == 'SPAN') return NodeFilter.FILTER_ACCEPT;
    return NodeFilter.FILTER_SKIP;
}

var it = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, testNodeFiter, false);
for (i = 0; i < 3; i++)
    it.nextNode();
 it.previousNode();
document.write(dumpNodeIterator(it, "ref node 'C'; pointer before"));

// remove node 'C'
document.write("<p>remove node 'C'");
var D = document.getElementById('C');
root.removeChild(D);
document.write(dumpNodeIterator(it, "ref node 'B'; pointer after"));
</script>
</div>
</body>
</html>
