| <!doctype HTML> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../assert_selection.js"></script> |
| <script> |
| test(() => assert_selection( |
| '<div style="width: 10em;">Copy this area <a href="http://foo/">AVeryLongWordThatWillWrap</a></div><div contenteditable>|</div>', |
| selection => { |
| selection.setClipboardData('Copy this area <a href="http://foo/">AVeryLongWordThatWillWrap</a>'); |
| selection.document.execCommand('paste'); |
| }, |
| '<div style="width: 10em;">Copy this area <a href="http://foo/">AVeryLongWordThatWillWrap</a></div><div contenteditable>Copy this area <a href="http://foo/">AVeryLongWordThatWillWrap|</a></div>'), |
| '1. Restore the collapsed trailing space'); |
| |
| test(() => assert_selection( |
| '<div style="width: 2em;"><b><i>foo </i></b>bar</div><div contenteditable>|</div>', |
| selection => { |
| selection.setClipboardData('<b><i>foo </i></b>bar'); |
| selection.document.execCommand('paste'); |
| }, |
| '<div style="width: 2em;"><b><i>foo </i></b>bar</div><div contenteditable><b><i>foo </i></b>bar|</div>'), |
| '2. Restore the collapsed trailing space'); |
| |
| test(() => assert_selection( |
| '<div style="width: 2em;"><b><i>foo</i></b> bar</div><div contenteditable>|</div>', |
| selection => { |
| selection.setClipboardData('<b><i>foo</i></b> bar'); |
| selection.document.execCommand('paste'); |
| }, |
| '<div style="width: 2em;"><b><i>foo</i></b> bar</div><div contenteditable><b><i>foo</i></b> bar|</div>'), |
| '3. Restore the collapsed leading space'); |
| |
| test(() => assert_selection( |
| '<div style="width: 2em;">작은홍띠점박이푸른부전나비</div><div contenteditable>|</div>', |
| selection => { |
| selection.setClipboardData('작은홍띠점박이푸른부전나비'); |
| selection.document.execCommand('paste'); |
| }, |
| '<div style="width: 2em;">작은홍띠점박이푸른부전나비</div><div contenteditable>작은홍띠점박이푸른부전나비|</div>'), |
| '4. Space should not be added for CJK'); |
| |
| test(() => assert_selection( |
| '<div style="width: 2em; word-break: break-all">Pneumonoultramicroscopicsilicovolcanoconiosis</div><div contenteditable>|</div>', |
| selection => { |
| selection.setClipboardData('Pneumonoultramicroscopicsilicovolcanoconiosis'); |
| selection.document.execCommand('paste'); |
| }, |
| '<div style="width: 2em; word-break: break-all">Pneumonoultramicroscopicsilicovolcanoconiosis</div><div contenteditable>Pneumonoultramicroscopicsilicovolcanoconiosis|</div>'), |
| '5. Space should not be added for CSS word-break: break-all'); |
| </script> |