| <!DOCTYPE HTML> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("This tests that 'input' event listener gets correct caret position after keypress."); |
| |
| var test = document.createElement("input"); |
| document.body.appendChild(test); |
| test.focus(); |
| |
| const backSpace = String.fromCharCode(8); |
| var input = ["a", "b", "c", backSpace, backSpace, backSpace]; |
| var output = ["", "a", "ab", "abc", "ab", "a", ""]; |
| |
| function dumpState() { |
| var expectedValue = output.shift(); |
| shouldBeEqualToString("test.value", expectedValue); |
| shouldBe("test.selectionStart", "" + expectedValue.length); |
| shouldBe("test.selectionEnd", "" + expectedValue.length); |
| debug(""); |
| } |
| |
| test.addEventListener("input", dumpState); |
| dumpState(); |
| while (input.length) |
| eventSender.keyDown(input.shift()); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |