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