blob: 738c8277a16295abae7b8398aae67b0723640ada [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="editable" contenteditable onbeforeinput=handleInput(event) oninput=handleInput(event)><div id="text">WebKit</div></div>
<script type="text/javascript">
description("To manually test this, change the text alignment and check the resulting debug messages.");
let range = document.createRange();
range.setStartBefore(text);
range.setEndAfter(text);
getSelection().addRange(range);
if (window.testRunner) {
preventDefaultForBeforeInputEvents = false;
execCommandAndLogComputedTextAlignmentStyle("AlignCenter");
execCommandAndLogComputedTextAlignmentStyle("AlignRight");
execCommandAndLogComputedTextAlignmentStyle("AlignLeft");
execCommandAndLogComputedTextAlignmentStyle("AlignJustified");
preventDefaultForBeforeInputEvents = true;
execCommandAndLogComputedTextAlignmentStyle("AlignCenter");
execCommandAndLogComputedTextAlignmentStyle("AlignRight");
execCommandAndLogComputedTextAlignmentStyle("AlignLeft");
execCommandAndLogComputedTextAlignmentStyle("AlignJustified");
}
function handleInput(event)
{
debug(`${event.type} (inputType = ${event.inputType})`);
if (window.preventDefaultForBeforeInputEvents && event.type === "beforeinput") {
event.preventDefault();
debug("Prevented default");
}
}
function execCommandAndLogComputedTextAlignmentStyle(command) {
testRunner.execCommand(command);
debug(`getComputedStyle(text).textAlign = '${getComputedStyle(text).textAlign}'`);
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>