diff options
Diffstat (limited to 'testing/web-platform/tests/XMLHttpRequest/timeout-cors-async.htm')
-rw-r--r-- | testing/web-platform/tests/XMLHttpRequest/timeout-cors-async.htm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/XMLHttpRequest/timeout-cors-async.htm b/testing/web-platform/tests/XMLHttpRequest/timeout-cors-async.htm new file mode 100644 index 000000000..35e2a30ba --- /dev/null +++ b/testing/web-platform/tests/XMLHttpRequest/timeout-cors-async.htm @@ -0,0 +1,43 @@ +<!doctype html> +<html> + <head> + <title>XMLHttpRequest: timeout event and cross-origin request</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="help" href="https://xhr.spec.whatwg.org/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" /> + <link rel="help" href="https://xhr.spec.whatwg.org/#handler-xhr-ontimeout" data-tested-assertations="../.."/> + <link rel="help" href="https://xhr.spec.whatwg.org/#timeout-error" data-tested-assertations=".."/> + <link rel="help" href="https://xhr.spec.whatwg.org/#request-error" data-tested-assertations="following::ol[1]/li[4] following::ol[1]/li[9]"/> + <link rel="help" href="https://xhr.spec.whatwg.org/#cross-origin-request-event-rules" data-tested-assertations="following::dl//code[contains(@title,'dom-XMLHttpRequest-timeout')]/.. following::dl//code[contains(@title,'dom-XMLHttpRequest-timeout')]/../following-sibling::dd following::dt[1] following::dd[1]" /> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test(document.title) + var client = new XMLHttpRequest() + var gotTimeout = false + client.open("GET", "http://www2." + location.hostname + (location.port ? ":" + location.port : "") +(location.pathname.replace(/[^\/]+$/, '')+'resources/corsenabled.py')+"?delay=2&code=200") + client.timeout = 100 + client.addEventListener('timeout', function (e) { + test.step(function() { + assert_equals(e.type, 'timeout') + assert_equals(client.status, 0) + gotTimeout = true + }) + }) + client.addEventListener('load', function (e) { + test.step(function() { + assert_unreached('load event should not fire') + }) + }) + client.addEventListener('loadend', function (e) { + test.step(function() { + assert_true(gotTimeout, "timeout event should fire") + test.done() + }) + }) + + client.send(null) + </script> + </body> +</html> |