blob: 2095445044d6afade36f3714516f8f1c4c2ef52b [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 contenteditable><span>foo|</span></div>',
'insertLineBreak',
'<div contenteditable><span>foo<br>|<br></span></div>'),
'Insert line break at end of text');
test(() => assert_selection(
'<div contenteditable><span>foo|<br>bar</span></div>',
'insertLineBreak',
'<div contenteditable><span>foo<br>|<br>bar</span></div>'),
'Insert line break before line break');
test(() => assert_selection(
'<div contenteditable><span>foo|bar</span></div>',
'insertLineBreak',
'<div contenteditable><span>foo<br>|bar</span></div>'),
'Insert line break between text');
test(() => assert_selection(
'<div contenteditable><span>foo|</span></div>',
selection => {
selection.document.execCommand('insertLineBreak');
selection.document.execCommand('insertLineBreak');
},
'<div contenteditable><span>foo<br><br>|<br></span></div>'),
'Insert two line breaks');
test(() => assert_selection(
'<div contenteditable><span>foo|</span></div>',
selection => {
selection.document.execCommand('insertLineBreak');
selection.document.execCommand('insertLineBreak');
selection.document.execCommand('insertText', false, 'c');
},
'<div contenteditable><span>foo<br><br>c|</span></div>'),
'Insert two line breaks and a character');
test(() => assert_selection(
'<div contenteditable><span>|foo</span></div>',
'insertLineBreak',
'<div contenteditable><span><br>|foo</span></div>'),
'Insert line break before text');
test(() => assert_selection(
'<div contenteditable><span>foo| bar</span></div>',
'insertLineBreak',
'<div contenteditable><span>foo<br>|\u{00A0}bar</span></div>'),
'Insert line break between words');
test(() => assert_selection(
'<div contenteditable>|foo</div>',
selection => {
selection.document.execCommand('insertLineBreak');
selection.document.execCommand('insertText', false, ' ');
},
'<div contenteditable><br>\u{00A0}|foo</div>'),
'Insert space after BR becomeas NBSP');
test(() => assert_selection(
'<div contenteditable style="white-space:pre">foo\n|\n</div>',
'insertLineBreak',
'<div contenteditable style="white-space:pre">foo\n\n|\n</div>'),
'Insert a newline character for white-space:pre');
</script>