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