| <!doctype html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div contenteditable> |
| <p id="p1"><br></p> |
| <p id="p2"></p> |
| </div> |
| <script> |
| "use strict"; |
| let editor = document.querySelector("[contenteditable]"); |
| let p1 = document.getElementById("p1"); |
| let p2 = document.getElementById("p2"); |
| p1.addEventListener("DOMNodeInserted", event => { |
| if (event.target.localName === "i") { |
| p2.appendChild(event.target); |
| } |
| }); |
| document.getSelection().collapse(p1, 0); |
| document.execCommand("insertHTML", false, |
| "<b>bold1</b><i>italic1</i><b>bold2</b><i>italic2</i>"); |
| test(function () { |
| assert_in_array(p1.innerHTML, ["<b>bold1</b><b>bold2</b><br>", "<b>bold1</b><b>bold2</b>"]); |
| }, "First <p> element should have only <b> elements"); |
| test(function () { |
| assert_equals(p2.innerHTML, "<i>italic1</i><i>italic2</i>"); |
| }, "Second <p> element should have only <i> elements"); |
| </script> |