summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/editing/other/move-inserted-node-from-DOMNodeInserted-during-exec-command-insertHTML.html
blob: 41e012a62e9617f372f85d0a0cedefe8ad42fbd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!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>