51 lines
1.4 KiB
HTML
51 lines
1.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
var preventDefaultInputEvents = false;
|
|
|
|
function beginTest()
|
|
{
|
|
if (!window.eventSender || !window.internals || !window.testRunner)
|
|
return;
|
|
|
|
internals.settings.setInputEventsEnabled(true);
|
|
testRunner.dumpAsText();
|
|
let input = document.querySelector("#foo");
|
|
input.focus();
|
|
|
|
eventSender.keyDown("a", []);
|
|
eventSender.keyDown("b", []);
|
|
eventSender.keyDown("c", []);
|
|
|
|
preventDefaultInputEvents = true;
|
|
|
|
testRunner.execCommand("DeleteBackward");
|
|
debug(`The final value is: ${input.value}`);
|
|
}
|
|
|
|
function checkInputEvent(event)
|
|
{
|
|
if (preventDefaultInputEvents)
|
|
debug("FAIL: Did not expect to the `oninput` handler to fire.");
|
|
}
|
|
|
|
function checkBeforeInputEvent(event)
|
|
{
|
|
if (preventDefaultInputEvents) {
|
|
debug("Fired `onbeforeinput`: preventing default!");
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload=beginTest()>
|
|
<input id="foo" contenteditable value="helloworld" oninput=checkInputEvent(event) onbeforeinput=checkBeforeInputEvent(event)></div>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
|
|
</html>
|