diff options
Diffstat (limited to 'test/wpt/tests/xhr/loadstart-and-state.html')
-rw-r--r-- | test/wpt/tests/xhr/loadstart-and-state.html | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/wpt/tests/xhr/loadstart-and-state.html b/test/wpt/tests/xhr/loadstart-and-state.html new file mode 100644 index 0000000..8b344a5 --- /dev/null +++ b/test/wpt/tests/xhr/loadstart-and-state.html @@ -0,0 +1,40 @@ +<!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_dom("InvalidStateError", () => client.setRequestHeader("General", "Organa")) + assert_throws_dom("InvalidStateError", () => client.withCredentials = true) + assert_throws_dom("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> |