1 description('Test for a specific problem with previousNode that failed in older versions of WebKit.'); 2 3 var testElement = document.createElement("div"); 4 testElement.innerHTML='<div id="A1"><div id="B1"><div id="C1"></div><div id="C2"><div id="D1"></div><div id="D2"></div></div></div><div id="B2"><div id="C3"></div><div id="C4"></div></div></div>'; 5 6 function filter(node) 7 { 8 if (node.id == "C2") 9 return NodeFilter.FILTER_REJECT; 10 return NodeFilter.FILTER_ACCEPT; 11 } 12 13 var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter, false); 14 15 shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'"); 16 shouldBe("walker.nextNode(); walker.currentNode.id", "'B1'"); 17 shouldBe("walker.nextNode(); walker.currentNode.id", "'C1'"); 18 shouldBe("walker.nextNode(); walker.currentNode.id", "'B2'"); 19 shouldBe("walker.previousNode(); walker.currentNode.id", "'C1'"); 20 21 var successfullyParsed = true; 22