Bug 850043 - Part 2. Add test. r?masayuki
MozReview-Commit-ID: 9iY6udNCQdL
--- a/editor/libeditor/tests/mochitest.ini
+++ b/editor/libeditor/tests/mochitest.ini
@@ -142,16 +142,17 @@ subsuite = clipboard
[test_bug772796.html]
[test_bug773262.html]
[test_bug780035.html]
[test_bug787432.html]
[test_bug790475.html]
[test_bug795785.html]
[test_bug796839.html]
[test_bug832025.html]
+[test_bug850043.html]
[test_bug857487.html]
[test_bug858918.html]
[test_bug915962.html]
[test_bug974309.html]
skip-if = toolkit == 'android'
[test_bug966155.html]
skip-if = os != "win"
[test_bug966552.html]
new file mode 100644
--- /dev/null
+++ b/editor/libeditor/tests/test_bug850043.html
@@ -0,0 +1,48 @@
+<!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邀󠄏辺󠄁</textarea>
+</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.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");
+
+ SimpleTest.finish();
+});
+</script>
+</body>
+</html>