| <!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> |