diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/eventsource/shared-worker | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/eventsource/shared-worker')
15 files changed, 276 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.htm new file mode 100644 index 0000000000..30fbc309ab --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.htm @@ -0,0 +1,24 @@ +<!doctype html> +<html> + <head> + <title>shared worker - EventSource: close()</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test(); + test.step(function() { + var worker = new SharedWorker('eventsource-close.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_equals(e.data[1], EventSource.CLOSED, 'this.readyState') + }) + test.done() + } + }) + </script> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.js new file mode 100644 index 0000000000..8d160b605f --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-close.js @@ -0,0 +1,12 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("../resources/message.py") + source.onopen = function(e) { + this.close() + port.postMessage([true, this.readyState]) + } +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm new file mode 100644 index 0000000000..690cde3600 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>shared 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 + ")") + test.step(function() { + var worker = new SharedWorker('eventsource-constructor-non-same-origin.js#'+encodeURIComponent(url)) + worker.port.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("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> diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.js new file mode 100644 index 0000000000..a68dc5b0b7 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.js @@ -0,0 +1,13 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var url = decodeURIComponent(location.hash.substr(1)) + var source = new EventSource(url) + source.onerror = function(e) { + port.postMessage([true, this.readyState, 'data' in e]) + this.close(); + } +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-url-bogus.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-url-bogus.js new file mode 100644 index 0000000000..80847357b5 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-url-bogus.js @@ -0,0 +1,10 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("http://this is invalid/") + port.postMessage([false, 'no exception thrown']) + source.close() +} catch(e) { + port.postMessage([true, e.code]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.htm new file mode 100644 index 0000000000..f25509dfd4 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.htm @@ -0,0 +1,24 @@ +<!doctype html> +<html> + <head> + <title>shared worker - EventSource: addEventListener()</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test() + test.step(function() { + var worker = new SharedWorker('eventsource-eventtarget.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_equals(e.data[1], 'data', 'e.data') + }) + test.done() + } + }) + </script> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.js new file mode 100644 index 0000000000..761165118a --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.js @@ -0,0 +1,13 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("../resources/message.py") + source.addEventListener("message", listener, false) + function listener(e) { + port.postMessage([true, e.data]) + this.close() + } +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmesage.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmesage.js new file mode 100644 index 0000000000..f5e2c898df --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmesage.js @@ -0,0 +1,12 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("../resources/message.py") + source.onmessage = function(e) { + port.postMessage([true, e.data]) + this.close() + } +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmessage.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmessage.htm new file mode 100644 index 0000000000..bcd6093454 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onmessage.htm @@ -0,0 +1,24 @@ +<!doctype html> +<html> + <head> + <title>shared worker - EventSource: onmessage</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test() + test.step(function() { + var worker = new SharedWorker('eventsource-onmesage.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_equals(e.data[1], "data", 'e.data') + }) + test.done() + } + }) + </script> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.htm new file mode 100644 index 0000000000..752a6e449f --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.htm @@ -0,0 +1,27 @@ +<!doctype html> +<html> + <head> + <title>shared worker - EventSource: onopen (announcing the connection)</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test() + test.step(function() { + var worker = new SharedWorker('eventsource-onopen.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_equals(e.data[1], EventSource.OPEN, 'source.readyState') + assert_false(e.data[2], "'data' in e") + assert_false(e.data[3], 'e.bubbles') + assert_false(e.data[4], 'e.calcelable') + }) + test.done() + } + }) + </script> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.js new file mode 100644 index 0000000000..6dc9424a21 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.js @@ -0,0 +1,12 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("../resources/message.py") + source.onopen = function(e) { + port.postMessage([true, source.readyState, 'data' in e, e.bubbles, e.cancelable]) + this.close() + } +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.htm new file mode 100644 index 0000000000..16c932a338 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.htm @@ -0,0 +1,25 @@ +<!doctype html> +<html> + <heAd> + <title>shared worker - EventSource: prototype et al</tiTle> + <scrIpt src="/resources/testharness.js"></scripT> + <scriPt src="/resources/testharnessreport.js"></Script> + </heaD> + <boDy> + <diV iD="log"></Div> + <sCript> + var test = async_test(); + test.step(function() { + var worker = new SharedWorker('eventsource-prototype.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]) + assert_true(e.data[1], 'source.ReturnTrue()') + assert_true(e.data[2], "'EventSource' in self") + }) + test.done() + } + }) + </scrIpt> + </bOdy> +</htMl>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.js new file mode 100644 index 0000000000..f4c809a9b3 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.js @@ -0,0 +1,11 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + EventSource.prototype.ReturnTrue = function() { return true } + var source = new EventSource("../resources/message.py") + port.postMessage([true, source.ReturnTrue(), 'EventSource' in self]) + source.close() +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.htm b/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.htm new file mode 100644 index 0000000000..a1c9ca8455 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.htm @@ -0,0 +1,25 @@ +<!doctype html> +<html> + <head> + <title>shared worker - EventSource: url</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + var test = async_test(); + test.step(function() { + var url = "resources/message.py" + var worker = new SharedWorker('eventsource-url.js') + worker.port.onmessage = function(e) { + test.step(function() { + assert_true(e.data[0], e.data[1]); + assert_equals(e.data[1].substr(-(url.length)), url) + }) + test.done() + } + }) + </script> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.js b/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.js new file mode 100644 index 0000000000..491dbac333 --- /dev/null +++ b/testing/web-platform/tests/eventsource/shared-worker/eventsource-url.js @@ -0,0 +1,10 @@ +onconnect = function(e) { +try { + var port = e.ports[0] + var source = new EventSource("../resources/message.py") + port.postMessage([true, source.url]) + source.close() +} catch(e) { + port.postMessage([false, String(e)]) +} +}
\ No newline at end of file |