diff options
Diffstat (limited to 'testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm')
-rw-r--r-- | testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm new file mode 100644 index 000000000..9fe515d2a --- /dev/null +++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm @@ -0,0 +1,49 @@ +<!-- +try { + var url = decodeURIComponent(location.hash.substr(1)) + var source = new EventSource(url) + source.onerror = function(e) { + postMessage([true, this.readyState, 'data' in e]) + this.close(); + } +} catch(e) { + postMessage([false, String(e)]) +} +/*--> +<!DOCTYPE html> +<html> + <head> + <title>dedicated worker - EventSource: constructor (act as if there is a network error)</title> + <meta name=timeout content=long> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + function fetchFail(url) { + var test = async_test(document.title + " (" + url + ")", { timeout: 20000 }) + test.step(function() { + var worker = new Worker('#'+encodeURIComponent(url)) + worker.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_equals(e.data[1], EventSource.CLOSED, 'source.readyState') + assert_false(e.data[2], "'data' in e"); + }) + test.done() + } + }) + } + fetchFail("http://example.not/") + fetchFail("https://example.not/test") + fetchFail("ftp://example.not/") + fetchFail("about:blank") + fetchFail("mailto:whatwg@awesome.example") + fetchFail("javascript:alert('FAIL')") + </script> + <!-- This tests "fails the connection" as well as making sure a simple + event is dispatched and not a MessageEvent --> + </body> +</html> +<!--*/ //--> |