| <!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> |