summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/tests/test_bug1247483.html
blob: c8b45b4439a5ccbe4babf00c541baf113d8bdfdf (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE HTML>
<html><head>
<title>Test for bug 1247483</title>
<style src="/tests/SimpleTest/test.css" type="text/css"></style>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/EventUtils.js"></script>

<script class="testbody" type="application/javascript">

function runTest() {
  // Copy content from table.
  var selection = getSelection();
  var startRange = document.createRange();
  startRange.setStart(document.getElementById("start"), 0);
  startRange.setEnd(document.getElementById("end"), 2);
  selection.removeAllRanges();
  selection.addRange(startRange);
  SpecialPowers.wrap(document).execCommand("copy", false, null);

  // Paste content into "pastecontainer"
  var pasteContainer = document.getElementById("pastecontainer");
  var pasteRange = document.createRange();
  pasteRange.selectNodeContents(pasteContainer);
  pasteRange.collapse(false);
  selection.removeAllRanges();
  selection.addRange(pasteRange);
  SpecialPowers.wrap(document).execCommand("paste", false, null);

  is(pasteContainer.querySelectorAll("td").length, 4, "4 <td> should be pasted.");

  document.execCommand("undo", false, null);

  is(pasteContainer.querySelectorAll("td").length, 0, "Undo should have remove the 4 pasted <td>.");

  SimpleTest.finish();
}

SimpleTest.waitForExplicitFinish();

addLoadEvent(runTest);
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1247483">Mozilla Bug 1247483</a>
<p id="display"></p>

<pre id="test">
</pre>

<div id="container" contenteditable="true">
<table>
  <tr id="start"><td>1 1</td><td>1 2</td></tr>
  <tr id="end"><td>2 1</td><td>2 2</td></tr>
</table>
</div>

<div id="pastecontainer" contenteditable="true">
</div>

</body>
</html>