delete-in-inline-editing-host-under-shadow-root.html (1747B)
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Backspace/Delete in inline editing host which is a shadow root</title> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script src="/resources/testdriver.js"></script> 9 <script src="/resources/testdriver-vendor.js"></script> 10 <script src="/resources/testdriver-actions.js"></script> 11 <script src="../include/editor-test-utils.js"></script> 12 <script> 13 "use strict"; 14 15 addEventListener("load", () => { 16 const shadowRoot = document.body.firstChild.attachShadow({mode: "open"}); 17 const editingHost = document.createElement("span"); 18 editingHost.setAttribute("contenteditable", ""); 19 shadowRoot.appendChild(editingHost); 20 const utils = new EditorTestUtils(editingHost); 21 22 promise_test(async t => { 23 utils.setupEditingHost("ab[]c"); 24 await utils.sendBackspaceKey(); 25 assert_equals( 26 editingHost.textContent, 27 "ac" 28 ); 29 }, "Backspace at <span contenteditable>ab[]c</span>"); 30 31 promise_test(async t => { 32 utils.setupEditingHost("a[]bc"); 33 await utils.sendDeleteKey(); 34 assert_equals( 35 editingHost.textContent, 36 "ac" 37 ); 38 }, "Delete at <span contenteditable>a[]bc</span>"); 39 40 promise_test(async t => { 41 utils.setupEditingHost("a[b]c"); 42 await utils.sendBackspaceKey(); 43 assert_equals( 44 editingHost.textContent, 45 "ac" 46 ); 47 }, "Backspace at <span contenteditable>a[b]c</span>"); 48 49 promise_test(async t => { 50 utils.setupEditingHost("a[b]c"); 51 await utils.sendDeleteKey(); 52 assert_equals( 53 editingHost.textContent, 54 "ac" 55 ); 56 }, "Delete at <span contenteditable>a[b]c</span>"); 57 }, {once: true}); 58 </script> 59 </head> 60 <body><div></div></body> 61 </html>