blob: a7ba4ce9455aeaff34ce9e11cbfad776aaff883f [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_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>