blob: 892291ce542f1b3b3bff1e868fe6a7141e90961e [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../../../resources/ui-helper.js"></script>
</head>
<body>
<p id="description"></p>
<div id="test" contenteditable="true" style="width:256px; height: 256px; border: 1px solid black"></div>
<div id="console"></div>
<script>
window.jsTestIsAsync = true;
function done()
{
document.body.removeChild(document.getElementById("test"));
finishJSTest();
}
function checkInputEvent()
{
shouldBeEqualToString("event.inputType", "insertParagraph");
done();
}
function checkKeypressAndDone()
{
shouldBeEqualToString("event.key", "Enter");
}
function runTest()
{
function handleFocus(event) {
event.target.addEventListener("input", checkInputEvent, { once: true });
event.target.addEventListener("keypress", checkKeypressAndDone, { once: true });
if (window.testRunner)
UIHelper.keyDown("return");
}
let test = document.getElementById("test");
test.addEventListener("focus", handleFocus, { once: true });
if (window.testRunner)
UIHelper.activateElement(test);
}
description("Tests that pressing the Return key in a content editable elemnent dispatches a DOM input event and DOM keypress event (in that order). To run this test by hand, focus the content editable element below and press the <key>Return<key> key.");
runTest();
</script>
</body>
</html>