| <!DOCTYPE html> | |
| <script src="../../resources/testharness.js"></script> | |
| <script src="../../resources/testharnessreport.js"></script> | |
| <script src="../../resources/assert-selection.js"></script> | |
| <script> | |
| test(() => assert_selection( | |
| '<div contenteditable><p>A|B</p></div>', | |
| 'insertText \ ', | |
| '<div contenteditable><p>A |B</p></div>'), | |
| 'insert a plain space in the middle of text node'); | |
| test(() => assert_selection( | |
| '<div contenteditable><p id="para"></p></div>', | |
| selection => { | |
| var para = selection.document.getElementById('para'); | |
| para.appendChild(selection.document.createTextNode('A')); | |
| para.appendChild(selection.document.createTextNode('B')); | |
| selection.collapse(para.firstChild, 1); | |
| selection.document.execCommand('insertText', false, ' '); | |
| }, | |
| '<div contenteditable><p id="para">A |B</p></div>'), | |
| 'insert a plain space between two inserted text nodes'); | |
| test(() => assert_selection( | |
| '<div contenteditable><p id="para"></p></div>', | |
| selection => { | |
| var para = selection.document.getElementById('para'); | |
| para.appendChild(selection.document.createTextNode('A')); | |
| para.appendChild(selection.document.createTextNode('')); | |
| selection.collapse(para.firstChild, 1); | |
| selection.document.execCommand('insertText', false, ' '); | |
| }, | |
| '<div contenteditable><p id="para">A\u00A0|</p></div>'), | |
| 'Insert a instead of plain space when it is inserted before the empty text node'); | |
| test(() => assert_selection( | |
| '<div contenteditable><p id="para"></p></div>', | |
| selection => { | |
| var para = selection.document.getElementById('para'); | |
| para.appendChild(selection.document.createTextNode('A')); | |
| para.appendChild(selection.document.createTextNode(' B')); | |
| selection.collapse(para.firstChild, 1); | |
| selection.document.execCommand('insertText', false, ' '); | |
| }, | |
| '<div contenteditable><p id="para">A\u00A0| B</p></div>'), | |
| 'Insert a instead of plain space when it is inserted before the text node that has a leading plain space'); | |
| test(() => assert_selection( | |
| '<div contenteditable>|<br> </div>', | |
| selection => { | |
| selection.document.execCommand('insertText', false, ' '); | |
| selection.document.execCommand('insertText', false, ' '); | |
| selection.document.execCommand('insertText', false, ' '); | |
| }, | |
| '<div contenteditable>\u00A0 \u00A0| </div>'), | |
| 'Insert spaces into the editable <div> that only has <br> and space as child'); | |
| test(() => assert_selection( | |
| '<div contenteditable>|<br>\u000A</div>', | |
| selection => { | |
| selection.document.execCommand('insertText', false, ' '); | |
| selection.document.execCommand('insertText', false, ' '); | |
| selection.document.execCommand('insertText', false, ' '); | |
| }, | |
| '<div contenteditable>\u00A0 \u00A0|\u000A</div>'), | |
| 'Insert spaces into the editable <div> that only has <br> and enter as child'); | |
| </script> |