<html>
<head>
</head>
<body>
<div>Test for <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=9537">
Bug 9537 REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()</a></div>
<div>http://bugzilla.opendarwin.org/show_bug.cgi?id=9537</div>
<form name="f" method="get" action="textarea-hard-linewrap-empty.html">
<textarea id="textarea" name="textarea" wrap="hard" cols="5"></textarea>
<input type="submit">
</form>
<script>
if (window.layoutTestController) {
    window.layoutTestController.dumpAsText();
    window.layoutTestController.waitUntilDone();
}

if (document.URL.indexOf('?') == -1) {
    document.f.submit();
} else {
    var formData = document.URL.substring(document.URL.indexOf('?') + 1, document.URL.length);
    if (formData == "textarea=")
        document.write("Success");
    else
        document.write("<div>Failure.</div><div>Expected: textarea=</div><div>Actual: " + formData + "</div>");

    if (window.layoutTestController)
        window.layoutTestController.notifyDone();
}
</script>
</body>
</html>
