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