summaryrefslogtreecommitdiff
path: root/editor/libeditor/tests/test_bug1101392.html
diff options
context:
space:
mode:
Diffstat (limited to 'editor/libeditor/tests/test_bug1101392.html')
-rw-r--r--editor/libeditor/tests/test_bug1101392.html78
1 files changed, 78 insertions, 0 deletions
diff --git a/editor/libeditor/tests/test_bug1101392.html b/editor/libeditor/tests/test_bug1101392.html
new file mode 100644
index 0000000000..76917203be
--- /dev/null
+++ b/editor/libeditor/tests/test_bug1101392.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1101392
+-->
+<head>
+ <meta charset="utf-8">
+ <title>Test for Bug 1101392</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
+ <script type="application/javascript">
+
+ /** Test for Bug 1101392 **/
+ SimpleTest.waitForExplicitFinish();
+ SimpleTest.waitForFocus(runTests);
+
+ function runCopyCommand(element, compareText, nextTest)
+ {
+ element.focus();
+ var expectedEndpoint, sel;
+ if (element.localName == "textarea") {
+ element.select();
+ expectedEndpoint = element.selectionEnd;
+ } else {
+ sel = getSelection();
+ sel.selectAllChildren(element.parentNode);
+ expectedEndpoint = [sel.getRangeAt(0).endContainer,
+ sel.getRangeAt(0).endOffset];
+ }
+
+ function checkCollapse() {
+ var desc = " after cmd_copyAndCollapseToEnd for " +
+ element.localName;
+ if (element.localName == "textarea") {
+ is(element.selectionStart, expectedEndpoint, "start offset" + desc);
+ is(element.selectionEnd, expectedEndpoint, "end offset" + desc);
+ } else {
+ is(sel.isCollapsed, true, "collapsed" + desc);
+ is(sel.anchorNode, expectedEndpoint[0], "node" + desc);
+ is(sel.anchorOffset, expectedEndpoint[1], "offset" + desc);
+ }
+
+ nextTest();
+ }
+
+ SimpleTest.waitForClipboard(compareText,
+ () => SpecialPowers.doCommand(window, "cmd_copyAndCollapseToEnd"),
+ checkCollapse, checkCollapse);
+ }
+
+ function testDiv()
+ {
+ var content = document.getElementById("content");
+ runCopyCommand(content, 'abc', testTextarea);
+ }
+
+ function testTextarea()
+ {
+ var textarea = document.getElementById("textarea");
+ runCopyCommand(textarea, 'def', SimpleTest.finish);
+ }
+
+ function runTests()
+ {
+ testDiv();
+ }
+ </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1101392">Mozilla Bug 1101392</a>
+<div><div id="content">abc</div></div>
+
+<textarea id="textarea">def</textarea>
+
+<pre id="test">
+</pre>
+</body>
+</html>