plaintext-only-in-designMode.html (1660B)
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="timeout" content="long"> 6 <title>Delete editor in a shadow</title> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="/resources/testdriver.js"></script> 10 <script src="/resources/testdriver-vendor.js"></script> 11 <script src="/resources/testdriver-actions.js"></script> 12 <script src="../include/editor-test-utils.js"></script> 13 <script> 14 "use strict"; 15 16 document.designMode = "on"; 17 18 addEventListener("load", () => { 19 const div = document.querySelector("div[contenteditable=plaintext-only]"); 20 const utils = new EditorTestUtils(div); 21 test(() => { 22 utils.setupEditingHost("[ABC]"); 23 document.execCommand("bold"); 24 assert_equals(div.outerHTML, `<div contenteditable="plaintext-only"><b>ABC</b></div>`); 25 }, "contenteditable=plaintext-only in the design mode should not prevent the style edit"); 26 27 test(() => { 28 utils.setupEditingHost("A[B]C"); 29 document.execCommand("insertHTML", false, "<b>b</b>"); 30 assert_equals(div.outerHTML, `<div contenteditable="plaintext-only">A<b>b</b>C</div>`); 31 }, "contenteditable=plaintext-only in the design mode should not suppress style of inserting HTML"); 32 33 promise_test(async () => { 34 utils.setupEditingHost("<p>A[]B</p>"); 35 await utils.sendEnterKey(); 36 assert_equals(div.outerHTML, `<div contenteditable="plaintext-only"><p>A</p><p>B</p></div>`); 37 }, "contenteditable=plaintext-only in the design mode should not cause inserting line break at typing Enter"); 38 }, {once: true}); 39 </script> 40 </head> 41 <body> 42 <div contenteditable="plaintext-only"></div> 43 </body> 44 </html>