<html xmlns='http://www.w3.org/1999/xhtml'>
Test passes if it does not crash.
<form>
<input id="submit" type="submit" />
</form>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

textNode = document.createTextNode("x");
document.getElementById("submit").appendChild(textNode);

runTest = function() {
    event = document.createEvent("MouseEvent");
    event.initEvent("click");
    textNode.dispatchEvent(event);
    if (window.testRunner)
        testRunner.notifyDone();
}

setTimeout(runTest, 0);
</script>
</html>
