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