diff options
Diffstat (limited to 'editor/libeditor/tests/test_bug1101392.html')
-rw-r--r-- | editor/libeditor/tests/test_bug1101392.html | 78 |
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 000000000..76917203b --- /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> |