<p><textarea id="ta"></textarea></p>
<script>
if (window.testRunner)
    testRunner.dumpAsText();
var ta = document.getElementById("ta");
ta.focus();
if (window.eventSender) {
    eventSender.keyDown(' ', new Array());
    eventSender.keyDown(' ', new Array());
    eventSender.keyDown(' ', new Array());
    eventSender.keyDown(' ', new Array());
    var result = ta.value;
    if (result == "    ")
        document.write("<p>Hooray, test worked!</p>");
    else
        document.write("<pre>Test failed, result was '" + result + "'.</pre>");
} else {
    document.write("<p>Test can't run without event sender, part of DumpRenderTree.</p>");
}
</script>
