Bug 1310912 - Part 6. Add redo test. r?masayuki draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Thu, 10 Nov 2016 21:17:34 +0900
changeset 437552 031c1687887b67892ac4c9569fe843c17d5b1a49
parent 437526 325909c0d141c238ab41e33d7f3959f4db27339e
child 536667 b5b20327953e44f35e5e2a00a607db6a402809b7
push id35444
push userm_kato@ga2.so-net.ne.jp
push dateFri, 11 Nov 2016 02:44:22 +0000
reviewersmasayuki
bugs1310912
milestone52.0a1
Bug 1310912 - Part 6. Add redo test. r?masayuki MozReview-Commit-ID: 5TgGAq3tM01
editor/libeditor/tests/test_bug1310912.html
--- a/editor/libeditor/tests/test_bug1310912.html
+++ b/editor/libeditor/tests/test_bug1310912.html
@@ -19,73 +19,75 @@ https://bugzilla.mozilla.org/show_bug.cg
 <div id="editable1" contenteditable="true">ABC</div>
 <pre id="test">
 
 <script class="testbody" type="application/javascript">
 SimpleTest.waitForExplicitFinish();
 SimpleTest.waitForFocus(function() {
   let elm = document.getElementById("editable1");
 
-  elm.addEventListener("input", () => {
-    let range = window.getSelection().getRangeAt(0);
-    range.insertNode(document.createTextNode(""));
-  });
-
   elm.focus();
   let sel = window.getSelection();
   sel.collapse(elm.childNodes[0], elm.textContent.length);
 
   synthesizeCompositionChange({
     composition: {
       string: "DEF",
       clauses: [
         { length: 3, attr: COMPOSITION_ATTR_RAW_CLAUSE }
       ]
     },
     caret: { start: 3, length: 0 }
   });
   ok(elm.textContent == "ABCDEF", "composing text should be set");
 
+  window.getSelection().getRangeAt(0).insertNode(document.createTextNode(""));
   synthesizeCompositionChange({
     composition: {
       string: "GHI",
       clauses: [
         { length: 3, attr: COMPOSITION_ATTR_CONVERTED_CLAUSE }
       ]
     },
     caret: { start: 0, length: 0 }
   });
   ok(elm.textContent == "ABCGHI", "composing text should be replaced");
 
+  window.getSelection().getRangeAt(0).insertNode(document.createTextNode(""));
   synthesizeCompositionChange({
     composition: {
       string: "JKL",
       clauses: [
         { length: 3, attr: COMPOSITION_ATTR_CONVERTED_CLAUSE }
       ]
     },
     caret: { start: 0, length: 0 }
   });
   ok(elm.textContent == "ABCJKL", "composing text should be replaced");
 
+  window.getSelection().getRangeAt(0).insertNode(document.createTextNode(""));
   synthesizeCompositionChange({
     composition: {
       string: "MNO",
       clauses: [
         { length: 3, attr: COMPOSITION_ATTR_CONVERTED_CLAUSE }
       ]
     },
     caret: { start: 1, length: 0 }
   });
   ok(elm.textContent == "ABCMNO", "composing text should be replaced");
 
+  window.getSelection().getRangeAt(0).insertNode(document.createTextNode(""));
   synthesizeComposition({ type: "compositioncommitasis" });
   ok(elm.textContent == "ABCMNO", "composing text should be committed");
 
   synthesizeKey("Z", { accelKey: true });
   ok(elm.textContent == "ABC", "text should be undoed");
 
+  synthesizeKey("Z", { accelKey: true, shiftKey: true });
+  ok(elm.textContent == "ABCMNO", "text should be redoed");
+
   SimpleTest.finish();
 });
 </script>
 </pre>
 </body>
 </html>