Bug 850043 - Part 2. Add test. r?masayuki draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Mon, 17 Oct 2016 14:24:47 +0900
changeset 425810 512f527230eb8fe7219215e3b634f1b2edc3df55
parent 425809 cf6a44b9b772bdb37dc97bddeb8cf366f8370673
child 533999 042f8143e18f3e0620093c1115717ea60aa31326
push id32514
push userm_kato@ga2.so-net.ne.jp
push dateMon, 17 Oct 2016 05:34:22 +0000
reviewersmasayuki
bugs850043
milestone52.0a1
Bug 850043 - Part 2. Add test. r?masayuki MozReview-Commit-ID: 9iY6udNCQdL
editor/libeditor/tests/mochitest.ini
editor/libeditor/tests/test_bug850043.html
--- 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&#x9080;&#xe010f;&#x8fba;&#xe0101;</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>