test_insertParagraph_in_inline_editing_host.html (2161B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Test "insertParagraph" command in inline editing host</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 7 </head> 8 <body> 9 10 <span contenteditable>foobar</span> 11 <hr> 12 <p><span contenteditable>foobar</span></p> 13 <hr> 14 <div><span contenteditable>foobar</span></div> 15 <hr> 16 <div contenteditable><p contenteditable="false"><span contenteditable>foobar</span></p></div> 17 18 <p id="display"> 19 </p> 20 <div id="content" style="display: none"> 21 </div> 22 23 <pre id="test"> 24 </pre> 25 26 <script class="testbody" type="application/javascript"> 27 28 SimpleTest.waitForExplicitFinish(); 29 SimpleTest.waitForFocus(() => { 30 var selection = document.getSelection(); 31 var editors = document.querySelectorAll("span[contenteditable]"); 32 33 var editor = editors.item(0); 34 editor.focus(); 35 selection.collapse(editor.firstChild, 3); 36 document.execCommand("insertParagraph", false); 37 is(editor.innerHTML, "foo<br>bar", 38 "insertParagraph should insert <br> element (inline editing host is in <body>)"); 39 40 editor = editors.item(1); 41 editor.focus(); 42 selection.collapse(editor.firstChild, 3); 43 document.execCommand("insertParagraph", false); 44 is(editor.parentNode.innerHTML, "<span contenteditable=\"\">foo<br>bar</span>", 45 "insertParagraph should insert <br> element (inline editing host is in <p>)"); 46 47 editor = editors.item(2); 48 editor.focus(); 49 selection.collapse(editor.firstChild, 3); 50 document.execCommand("insertParagraph", false); 51 is(editor.parentNode.innerHTML, "<span contenteditable=\"\">foo<br>bar</span>", 52 "insertParagraph should insert <br> element (inline editing host is in <div>)"); 53 54 editor = editors.item(3); 55 editor.focus(); 56 selection.collapse(editor.firstChild, 3); 57 document.execCommand("insertParagraph", false); 58 is(editor.parentNode.parentNode.innerHTML, "<p contenteditable=\"false\"><span contenteditable=\"\">foo<br>bar</span></p>", 59 "insertParagraph should insert <br> element (inline editing host is in <p contenteditable=\"false\"> in <div contenteditable>)"); 60 61 SimpleTest.finish(); 62 }); 63 64 </script> 65 </body> 66 67 </html>