DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
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>