blob: 4cc77d1b35777f6b26f56f94064ad9bde1ef9429 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="shadowHost"></div>
<script>
(function () {
var shadowRoot = shadowHost.createShadowRoot();
shadowRoot.innerHTML = '<div id="editable" contenteditable>Test</div>';
var textNode = shadowRoot.querySelector("#editable").firstChild;
var selection = shadowRoot.getSelection();
selection.collapse(textNode, textNode.textContent.length);
test(function () {
var range = selection.getRangeAt(0);
assert_equals(range.startContainer, textNode);
assert_equals(range.startOffset, textNode.textContent.length);
assert_true(range.collapsed);
}, "collapsed");
selection.collapse(textNode, 0);
selection.extend(textNode, 2);
test(function () {
var range = selection.getRangeAt(0);
assert_equals(range.startContainer, textNode);
assert_equals(range.startOffset, 0);
assert_equals(range.endContainer, textNode);
assert_equals(range.endOffset, 2);
assert_false(range.collapsed);
}, "range");
test(function () {
assert_not_equals(window.getSelection().getRangeAt(0).anchorNode, textNode);
}, "Nodes in Shadow should not be exposed to window.getSelection()");
})();
</script>