summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/eventsource/shared-worker
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/eventsource/shared-worker')
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-close.htm24
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-close.js12
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm34
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.js13
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-constructor-url-bogus.js10
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.htm24
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-eventtarget.js13
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-onmesage.js12
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-onmessage.htm24
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.htm27
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-onopen.js12
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.htm25
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-prototype.js11
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-url.htm25
-rw-r--r--testing/web-platform/tests/eventsource/shared-worker/eventsource-url.js10
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