| <!doctype html> | |
| <html> | |
| <head> | |
| <title>XMLHttpRequest: abort() after send()</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-abort()-method" data-tested-assertations="following-sibling::ol/li[1] following-sibling::ol/li[3] following-sibling::ol/li[4] following-sibling::ol/li[4]/ol/li[1] following-sibling::ol/li[4]/ol/li[3] following-sibling::ol/li[4]/ol/li[4] following-sibling::ol/li[4]/ol/li[5] following-sibling::ol/li[4]/ol/li[6] following-sibling::ol/li[5]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsetext-attribute" data-tested-assertations="following::ol/li[3]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsexml-attribute" data-tested-assertations="following::ol/li[3]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#dom-xmlhttprequest-getallresponseheaders" data-tested-assertations="following::ol/li[2]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#dom-xmlhttprequest-getresponseheader" data-tested-assertations="following::ol/li[2]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-status-attribute" data-tested-assertations="following::ol/li[2]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-statustext-attribute" data-tested-assertations="following::ol/li[2]" /> | |
| <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[1] following::dd[1]" /> | |
| </head> | |
| <body> | |
| <div id="log"></div> | |
| <script> | |
| var test = async_test() | |
| test.step(function() { | |
| var client = new XMLHttpRequest(), | |
| control_flag = false, | |
| result = [], | |
| expected = [1, 4, 'progress', 'abort', 'loadend'] // open() -> 1, abort() -> 4 | |
| client.onreadystatechange = function() { | |
| test.step(function() { | |
| result.push(client.readyState) | |
| if(client.readyState == 4) { | |
| control_flag = true | |
| assert_equals(client.responseXML, null) | |
| assert_equals(client.responseText, "") | |
| assert_equals(client.status, 0) | |
| assert_equals(client.statusText, "") | |
| assert_equals(client.getAllResponseHeaders(), "") | |
| assert_equals(client.getResponseHeader('Content-Type'), null) | |
| } | |
| }) | |
| } | |
| client.open("GET", "resources/well-formed.xml", true) | |
| client.send(null) | |
| client.addEventListener('progress', logEvt) | |
| client.addEventListener('abort', logEvt) | |
| client.addEventListener('loadend', logEvt) | |
| client.abort() | |
| assert_true(control_flag) | |
| assert_equals(client.readyState, 0) | |
| assert_array_equals(result, expected) | |
| test.done() | |
| function logEvt (e) { | |
| result.push(e.type) | |
| } | |
| }) | |
| </script> | |
| </body> | |
| </html> |