| <!doctype html> | |
| <title>Range.commonAncestorContainer</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <div id=log></div> | |
| <script> | |
| test(function() { | |
| var range = document.createRange(); | |
| range.detach(); | |
| assert_equals(range.commonAncestorContainer, document); | |
| }, "Detached Range") | |
| test(function() { | |
| var df = document.createDocumentFragment(); | |
| var foo = df.appendChild(document.createElement("foo")); | |
| foo.appendChild(document.createTextNode("Foo")); | |
| var bar = df.appendChild(document.createElement("bar")); | |
| bar.appendChild(document.createComment("Bar")); | |
| [ | |
| // start node, start offset, end node, end offset, expected cAC | |
| [foo, 0, bar, 0, df], | |
| [foo, 0, foo.firstChild, 3, foo], | |
| [foo.firstChild, 0, bar, 0, df], | |
| [foo.firstChild, 3, bar.firstChild, 2, df] | |
| ].forEach(function(t) { | |
| test(function() { | |
| var range = document.createRange(); | |
| range.setStart(t[0], t[1]); | |
| range.setEnd(t[2], t[3]); | |
| assert_equals(range.commonAncestorContainer, t[4]); | |
| }) | |
| }); | |
| }, "Normal Ranges") | |
| </script> |