summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/xhr/loadstart-and-state.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/xhr/loadstart-and-state.html')
-rw-r--r--testing/web-platform/tests/xhr/loadstart-and-state.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/loadstart-and-state.html b/testing/web-platform/tests/xhr/loadstart-and-state.html
new file mode 100644
index 0000000000..8b344a58f8
--- /dev/null
+++ b/testing/web-platform/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>