diff options
Diffstat (limited to '')
-rw-r--r-- | testing/web-platform/tests/xhr/xmlhttprequest-eventtarget.htm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/xmlhttprequest-eventtarget.htm b/testing/web-platform/tests/xhr/xmlhttprequest-eventtarget.htm new file mode 100644 index 0000000000..ea58fd4dc3 --- /dev/null +++ b/testing/web-platform/tests/xhr/xmlhttprequest-eventtarget.htm @@ -0,0 +1,48 @@ +<!doctype html> +<html> + <head> + <title>XMLHttpRequest: implements EventTarget</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="help" href="https://xhr.spec.whatwg.org/#xmlhttprequesteventtarget" data-tested-assertations=".." /> + <!-- Obviously, most of the stuff actually being tested here is covered in the DOM events spec, not in the XHR spec --> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test(), + x = null, + expected = ["a1", "b1", "c1", "a2", "b2", "c2", "a3", "c3", "a4", "c4"], + result = [] + function callback(e) { + result.push("b" + x.readyState) + test.step(function() { + if(x.readyState == 3) + assert_unreached() + }) + } + test.step(function() { + x = new XMLHttpRequest() + x.onreadystatechange = function() { + test.step(function() { + result.push("a" + x.readyState) + }) + } + x.addEventListener("readystatechange", callback, false) + x.addEventListener("readystatechange", function() { + test.step(function() { + result.push("c" + x.readyState) + if(x.readyState == 2) + x.removeEventListener("readystatechange", callback, false) + if(x.readyState == 4) { + assert_array_equals(result, expected) + test.done() + } + }) + }, false) + x.open("GET", "folder.txt") + x.send(null) + }) + </script> + </body> +</html> |