blob: 7c4da1cc99680c2fb505c8ba3b94a6044be67cf9 [file] [log] [blame]
<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
test(() => {
assert_not_equals(window.internals, undefined,
'This test requires to access clipboard from JavaScript');
assert_selection(
[
'<div contenteditable>',
'<span style="background-color: red">^abc|</span>',
'<span id="dst" style="background-color: red">def</span>',
'</div>',
].join(''),
selection => {
selection.document.execCommand('copy');
selection.collapse(selection.document.getElementById('dst'), 0);
selection.document.execCommand('paste');
},
[
'<div contenteditable>',
'<span style="background-color: red">abc</span>',
'<span id="dst" style="background-color: red">abc|def</span>',
'</div>',
].join(''),
'Paste to same background-color');
assert_selection(
[
'<div contenteditable>',
'<span style="background-color: red">^abc|</span>',
'<span id="dst" style="background-color: green">def</span>',
'</div>',
].join(''),
selection => {
selection.document.execCommand('copy');
selection.collapse(selection.document.getElementById('dst'), 0);
selection.document.execCommand('paste');
},
[
'<div contenteditable>',
'<span style="background-color: red">abc</span>',
'<span id="dst" style="background-color: green">',
'<span style="background-color: rgb(255, 0, 0);">',
'abc|',
'</span>',
'def',
'</span>',
'</div>',
].join(''),
'Paste to different background-color');
assert_selection(
[
'<div contenteditable>',
'<span style="background-color: red">^abc|</span>',
'<span id="dst" style="background-color: rgba(255, 0, 0, 0)">',
'def',
'</span>',
'</div>',
].join(''),
selection => {
selection.document.execCommand('copy');
selection.collapse(selection.document.getElementById('dst'), 0);
selection.document.execCommand('paste');
},
[
'<div contenteditable>',
'<span style="background-color: red">abc</span>',
'<span id="dst" style="background-color: rgba(255, 0, 0, 0)">',
'<span style="background-color: rgb(255, 0, 0);">',
'abc|',
'</span>',
'def',
'</span>',
'</div>',
].join(''),
'Paste to transparent background-color');
});
</script>