<html>
<body>
<p>This tests that a textarea where the wrap attribute is removed reverts to normal wrapping behavior.</p>
<form name="f" method="?" action="textarea-linewrap-dynamic.html">
<textarea id="textarea" name="textarea" wrap="hard" cols="5">123456789</textarea>
<input type="submit">
</form>
<script>
if (document.URL.indexOf('?') == -1) {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    document.getElementById("textarea").removeAttribute("wrap");
    document.f.submit();
} else {
    var formData = document.URL.substring(document.URL.indexOf('?') + 1, document.URL.length);
    if (formData == "textarea=123456789")
        document.write("Success");
    else
        document.write("Failure.  The form data that should have been submitted: textarea=123456789<br>This is what was actually submitted: " + formData);    
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</body>
</html>
