| <title>Test case for bug 40952</title> |
| <p> Test case for <a href="https://bugs.webkit.org/show_bug.cgi?id=40952"> bug 40952</a>: Onloadend event is not supported in XMLHttpRequest</p> |
| <p> Verify that a loadend ProgressEvent is dispatched after the abort ProgressEvent when an async upload request is aborted.</p> |
| <p>PASS should appear below:</p> |
| <script type="text/javascript"> |
| testRunner.waitUntilDone(); |
| var consoleElt = document.getElementById("console"); |
| consoleElt.appendChild(document.createTextNode(message)); |
| var xhr = new XMLHttpRequest(); |
| var expected = " abort loadend"; |
| function logProgressEvent(e) { |
| function logUnexpectedProgressEvent(e) { |
| results += " [unexpected ProgressEvent: " + e.type + "]"; |
| log(results == expected ? "PASS" : "FAILED results : '" + results + "', expected : '" + expected + "'"); |
| xhr.upload.onprogress = function(e) { |
| xhr.upload.onprogress = logProgressEvent; |
| xhr.upload.onabort = logProgressEvent; |
| xhr.upload.onerror = logUnexpectedProgressEvent; |
| xhr.upload.onload = logUnexpectedProgressEvent; |
| xhr.upload.onloadend = function(e) { |
| xhr.open("POST", "resources/post-echo.cgi", true); |