| <!doctype html> | |
| <title>XMLHttpRequest: loadstart event corner cases</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <div id=log></div> | |
| <script> | |
| async_test(t => { | |
| const client = new XMLHttpRequest | |
| client.onloadstart = t.step_func(() => { | |
| assert_throws("InvalidStateError", () => client.setRequestHeader("General", "Organa")) | |
| assert_throws("InvalidStateError", () => client.withCredentials = true) | |
| assert_throws("InvalidStateError", () => client.send()) | |
| client.onloadstart = null | |
| client.open("GET", "data:,BB-8") | |
| client.send() | |
| }) | |
| client.onload = t.step_func_done(() => { | |
| assert_equals(client.responseText, "BB-8") | |
| }) | |
| client.open("GET", "data:,R2-D2") | |
| client.send() | |
| }, "open() during loadstart") | |
| async_test(t => { | |
| const client = new XMLHttpRequest | |
| let abortFired = false | |
| client.onloadstart = t.step_func_done(() => { | |
| assert_equals(client.readyState, 1) | |
| client.abort() | |
| assert_true(abortFired) | |
| assert_equals(client.readyState, 0) | |
| }) | |
| client.onabort = t.step_func(() => { | |
| abortFired = true | |
| assert_equals(client.readyState, 4) | |
| }) | |
| client.open("GET", "data:,K-2SO") | |
| client.send() | |
| }, "abort() during loadstart") | |
| </script> |