Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html>
<!--
-->
<head>
<title>TreeWalker: walking-outside-a-tree</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/assert-node.js"></script>
<div id=log></div>
</head>
<body>
<p>[Acid3 - Test 006a] walking outside a tree</p>
<script>
test(function () {
// test 6: walking outside a tree
var doc = document.createElement("div");
var head = document.createElement('head');
var title = document.createElement('title');
var body = document.createElement('body');
var p = document.createElement('p');
doc.appendChild(head);
head.appendChild(title);
doc.appendChild(body);
body.appendChild(p);
var w = document.createTreeWalker(body, 0xFFFFFFFF, null);
doc.removeChild(body);
assert_equals(w.lastChild(), p, "TreeWalker failed after removing the current node from the tree");
doc.appendChild(p);
assert_equals(w.previousNode(), title, "failed to handle regrafting correctly");
p.appendChild(body);
assert_equals(w.nextNode(), p, "couldn't retrace steps");
assert_equals(w.nextNode(), body, "couldn't step back into root");
assert_equals(w.previousNode(), null, "root didn't retake its rootish position");
}, "walking outside a tree");
</script>
</body>
</html>