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