summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/tests/test_bug850043.html
diff options
context:
space:
mode:
Diffstat (limited to 'editor/libeditor/tests/test_bug850043.html')
-rw-r--r--editor/libeditor/tests/test_bug850043.html65
1 files changed, 65 insertions, 0 deletions
diff --git a/editor/libeditor/tests/test_bug850043.html b/editor/libeditor/tests/test_bug850043.html
new file mode 100644
index 000000000..b811c86a6
--- /dev/null
+++ b/editor/libeditor/tests/test_bug850043.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=850043
+-->
+<head>
+ <title>Test for Bug 850043</title>
+ <script type="application/javascript" src="/MochiKit/packed.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
+
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=850043">Mozilla Bug 850043</a>
+<div id="display">
+<textarea id="textarea">b&#x9080;&#xe010f;&#x8fba;&#xe0101;</textarea>
+<div contenteditable id="edit">b&#x9080;&#xe010f;&#x8fba;&#xe0101;</div>
+</div>
+<div id="content" style="display: none">
+</div>
+
+<pre id="test">
+</pre>
+<script>
+SimpleTest.waitForExplicitFinish();
+SimpleTest.waitForFocus(() => {
+ let fm = SpecialPowers.Cc["@mozilla.org/focus-manager;1"].
+ getService(SpecialPowers.Ci.nsIFocusManager);
+
+ let element = document.getElementById("textarea");
+ element.setSelectionRange(element.value.length, element.value.length);
+ element.focus();
+ is(SpecialPowers.unwrap(fm.focusedElement), element, "failed to move focus");
+
+ synthesizeKey("VK_END", { });
+ synthesizeKey("a", { });
+ is(element.value, "b\u{9080}\u{e010f}\u{8fba}\u{e0101}a", "a isn't last character");
+
+ synthesizeKey("VK_BACK_SPACE", { });
+ synthesizeKey("VK_BACK_SPACE", { });
+ synthesizeKey("VK_BACK_SPACE", { });
+ is(element.value, 'b', "cannot remove all IVS characters");
+
+ element = document.getElementById("edit");
+ element.focus();
+ is(SpecialPowers.unwrap(fm.focusedElement), element, "failed to move focus");
+
+ let sel = window.getSelection();
+ sel.collapse(element.childNodes[0], element.textContent.length);
+
+ synthesizeKey("a", { });
+ is(element.textContent, "b\u{9080}\u{e010f}\u{8fba}\u{e0101}a", "a isn't last character");
+
+ synthesizeKey("VK_BACK_SPACE", { });
+ synthesizeKey("VK_BACK_SPACE", { });
+ synthesizeKey("VK_BACK_SPACE", { });
+ is(element.textContent, 'b', "cannot remove all IVS characters");
+
+ SimpleTest.finish();
+});
+</script>
+</body>
+</html>