<html>
<head>
<script>
if (window.testRunner)
     testRunner.dumpEditingCallbacks();
</script>

<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}
</script>
<script src="../editing.js"></script>
</head>
<body>
<div>Bug 9358: REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer (value == constrainValue(value)) when deleting all text</div>
<div><a href="https://bugs.webkit.org/show_bug.cgi?id=9358">https://bugs.webkit.org/show_bug.cgi?id=9358</a></div>
<div><br></div>
<form>
Assertion fails when all characters are deleted: <input type="text" id="t" value="X">
</form>
<script>
document.getElementById("t").focus();
document.execCommand("SelectAll");
document.execCommand("Delete");
</script>
<div>SUCCESS if the test didn't crash and you see this message.</div>
<script>
if (window.testRunner) {
    testRunner.notifyDone()
}
</script>
<body>
</html>
