| <!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="traversal-support.js"></script> |
| <link rel="stylesheet" href="/resources/testharness.css"> |
| <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> |