summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/dom/TreeWalker/script-tests/previousSiblingLastChildSkip.js
blob: ed7c577957f2b66d5556bf75e6260e18f4f74abc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
description('Test for a specific problem with previousSibling that failed in older versions of WebKit.');

var testElement = document.createElement("div");
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>';

function filter(node)
{
    if (node.id == "B1")
        return NodeFilter.FILTER_SKIP;
    return NodeFilter.FILTER_ACCEPT;
}

var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter, false);

shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'");
shouldBe("walker.nextNode(); walker.currentNode.id", "'C1'");
shouldBe("walker.nextNode(); walker.currentNode.id", "'C2'");
shouldBe("walker.nextNode(); walker.currentNode.id", "'D1'");
shouldBe("walker.nextNode(); walker.currentNode.id", "'D2'");
shouldBe("walker.nextNode(); walker.currentNode.id", "'B2'");
shouldBe("walker.previousSibling(); walker.currentNode.id", "'C2'");

var successfullyParsed = true;