test_bug625452.html (1854B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=625452 5 --> 6 <head> 7 <title>Test for Bug 625452</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <script src="/tests/SimpleTest/EventUtils.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 </head> 12 <body> 13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=625452">Mozilla Bug 625452</a> 14 <p id="display"></p> 15 <div id="content"> 16 <input> 17 </div> 18 <pre id="test"> 19 <script type="application/javascript"> 20 21 /** Test for Bug 625452 */ 22 SimpleTest.waitForExplicitFinish(); 23 addLoadEvent(function() { 24 var i = document.querySelector("input"); 25 var inputCount = 0; 26 i.addEventListener("input", function() { inputCount++; }); 27 28 // test cut 29 i.focus(); 30 i.value = "foo bar"; 31 i.selectionStart = 0; 32 i.selectionEnd = 4; 33 synthesizeKey("X", {accelKey: true}); 34 is(i.value, "bar", "Cut should work correctly"); 35 is(inputCount, 1, "input event should be raised correctly"); 36 37 // test undo 38 synthesizeKey("Z", {accelKey: true}); 39 is(i.value, "foo bar", "Undo should work correctly"); 40 is(inputCount, 2, "input event should be raised correctly"); 41 42 // test redo 43 synthesizeKey("Z", {accelKey: true, shiftKey: true}); 44 is(i.value, "bar", "Redo should work correctly"); 45 is(inputCount, 3, "input event should be raised correctly"); 46 47 // test delete 48 i.selectionStart = 0; 49 i.selectionEnd = 2; 50 synthesizeKey("KEY_Delete"); 51 is(i.value, "r", "Delete should work correctly"); 52 is(inputCount, 4, "input event should be raised correctly"); 53 54 // test DeleteSelection(eNone) 55 i.value = "retest"; // the "r" common prefix is crucial here 56 is(inputCount, 4, "input event should not have been raised"); 57 58 // paste is tested in test_bug596001.html 59 60 SimpleTest.finish(); 61 }); 62 63 </script> 64 </pre> 65 </body> 66 </html>