Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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>