blob: 5a28c253f16ce9389df03a23bca5fe7ee8d2a96a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div contenteditable="" id="root">
<span id="test">foo bar baz</span>
</div>
<script>
test(() => {
assert_not_equals(window.internals, undefined,
'This test requires clipboard access');
const selection = window.getSelection();
const root = document.getElementById('root');
const test = document.getElementById('test');
selection.setBaseAndExtent(test.firstChild, 4, test.firstChild, 7); // foo ^bar| baz
document.execCommand('copy');
selection.collapse(test.firstChild, 7); // foo bar| baz
document.execCommand('paste');
const expectedText = '\n&lt;span xmlns=\"http://www.w3.org/1999/xhtml\" id=\"test\"&gt;foo barbar baz&lt;/span&gt;\n';
assert_equals(root.innerHTML, expectedText);
assert_equals(selection.anchorNode, test.firstChild);
assert_equals(selection.anchorOffset, 10);
assert_equals(selection.type, 'Caret');
}, 'Paste in XML');
</script>
</html>