<!DOCTYPE html>
<html>
<!--
Test adapted from https://github.com/operasoftware/presto-testo/blob/master/core/standards/acid3/individual/006a.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>
