<!DOCTYPE html>
<html>
<head>
    <script src="../../resources/js-test-pre.js"></script>
</head>
<body>
    <div id="editable" contenteditable></div>
    <script type="text/javascript">
        description("Check that strikeThrough command produces an input event of type formatStrikeThrough");

        document.getElementById("editable").focus();
        if (window.testRunner) {
            document.oninput = function(event) {
                shouldBeEqualToString("event.type", "input");
                shouldBeEqualToString("event.inputType", "formatStrikeThrough");
            }
            testRunner.execCommand('strikeThrough');
        }
    </script>
    <script src="../../resources/js-test-post.js"></script>
</body>
</html>
