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