summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/eventsource/dedicated-worker
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/eventsource/dedicated-worker')
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.htm24
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.js9
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.htm23
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.js3
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-no-new.any.js7
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm34
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.js10
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-url-bogus.js7
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-eventtarget.worker.js11
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmesage.js9
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmessage.htm24
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.htm27
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.js9
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.htm25
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.js8
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.htm25
-rw-r--r--testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.js7
17 files changed, 262 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.htm
new file mode 100644
index 0000000000..f26aaaa4a9
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.htm
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+ <head>
+ <title>dedicated 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 Worker('eventsource-close.js')
+ worker.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/dedicated-worker/eventsource-close.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.js
new file mode 100644
index 0000000000..875c9098ba
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close.js
@@ -0,0 +1,9 @@
+try {
+ var source = new EventSource("../resources/message.py")
+ source.onopen = function(e) {
+ this.close()
+ postMessage([true, this.readyState])
+ }
+} catch(e) {
+ postMessage([false, String(e)])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.htm
new file mode 100644
index 0000000000..34e07a2694
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.htm
@@ -0,0 +1,23 @@
+<!doctype html>
+<html>
+ <head>
+ <title>dedicated worker - EventSource created after: worker.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 Worker('eventsource-close2.js')
+ worker.onmessage = function(e) {
+ test.step(function() {
+ assert_equals(e.data, EventSource.CONNECTING, 'this.readyState')
+ })
+ test.done()
+ }
+ })
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.js
new file mode 100644
index 0000000000..4a9cbd20b8
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-close2.js
@@ -0,0 +1,3 @@
+self.close()
+var source = new EventSource("../resources/message.py")
+postMessage(source.readyState) \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-no-new.any.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-no-new.any.js
new file mode 100644
index 0000000000..48bc551130
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-no-new.any.js
@@ -0,0 +1,7 @@
+test(function() {
+ assert_throws_js(TypeError,
+ function() {
+ EventSource('');
+ },
+ "Calling EventSource constructor without 'new' must throw");
+})
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 0000000000..b49d7ed609
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm
@@ -0,0 +1,34 @@
+<!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 + ")")
+ test.step(function() {
+ var worker = new Worker('eventsource-constructor-non-same-origin.js#'+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("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/dedicated-worker/eventsource-constructor-non-same-origin.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.js
new file mode 100644
index 0000000000..5ec25a0678
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.js
@@ -0,0 +1,10 @@
+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)])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-url-bogus.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-url-bogus.js
new file mode 100644
index 0000000000..2a450a3463
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-constructor-url-bogus.js
@@ -0,0 +1,7 @@
+try {
+ var source = new EventSource("http://this is invalid/")
+ postMessage([false, 'no exception thrown'])
+ source.close()
+} catch(e) {
+ postMessage([true, e.code])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-eventtarget.worker.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-eventtarget.worker.js
new file mode 100644
index 0000000000..73b30556c4
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-eventtarget.worker.js
@@ -0,0 +1,11 @@
+importScripts("/resources/testharness.js");
+
+async_test(function() {
+ var source = new EventSource("../resources/message.py")
+ source.addEventListener("message", this.step_func_done(function(e) {
+ assert_equals(e.data, 'data');
+ source.close();
+ }), false)
+}, "dedicated worker - EventSource: addEventListener()");
+
+done();
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmesage.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmesage.js
new file mode 100644
index 0000000000..9629f5e793
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmesage.js
@@ -0,0 +1,9 @@
+try {
+ var source = new EventSource("../resources/message.py")
+ source.onmessage = function(e) {
+ postMessage([true, e.data])
+ this.close()
+ }
+} catch(e) {
+ postMessage([false, String(e)])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmessage.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmessage.htm
new file mode 100644
index 0000000000..c61855f524
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onmessage.htm
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+ <head>
+ <title>dedicated 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 Worker('eventsource-onmesage.js')
+ worker.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/dedicated-worker/eventsource-onopen.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.htm
new file mode 100644
index 0000000000..010b0c66a8
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.htm
@@ -0,0 +1,27 @@
+<!doctype html>
+<html>
+ <head>
+ <title>dedicated 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 Worker('eventsource-onopen.js')
+ worker.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/dedicated-worker/eventsource-onopen.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.js
new file mode 100644
index 0000000000..72a1053263
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-onopen.js
@@ -0,0 +1,9 @@
+try {
+ var source = new EventSource("../resources/message.py")
+ source.onopen = function(e) {
+ postMessage([true, source.readyState, 'data' in e, e.bubbles, e.cancelable])
+ this.close()
+ }
+} catch(e) {
+ postMessage([false, String(e)])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.htm
new file mode 100644
index 0000000000..5a5ac4ec2a
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.htm
@@ -0,0 +1,25 @@
+<!doctype html>
+<html>
+ <heAd>
+ <title>dedicated 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 Worker('eventsource-prototype.js')
+ worker.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/dedicated-worker/eventsource-prototype.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.js
new file mode 100644
index 0000000000..26993cb4ef
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-prototype.js
@@ -0,0 +1,8 @@
+try {
+ EventSource.prototype.ReturnTrue = function() { return true }
+ var source = new EventSource("../resources/message.py")
+ postMessage([true, source.ReturnTrue(), 'EventSource' in self])
+ source.close()
+} catch(e) {
+ postMessage([false, String(e)])
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.htm b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.htm
new file mode 100644
index 0000000000..59e77cba57
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.htm
@@ -0,0 +1,25 @@
+<!doctype html>
+<html>
+ <head>
+ <title>dedicated 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 Worker('eventsource-url.js')
+ worker.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/dedicated-worker/eventsource-url.js b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.js
new file mode 100644
index 0000000000..7a3c8030d2
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/dedicated-worker/eventsource-url.js
@@ -0,0 +1,7 @@
+try {
+ var source = new EventSource("../resources/message.py")
+ postMessage([true, source.url])
+ source.close()
+} catch(e) {
+ postMessage([false, String(e)])
+} \ No newline at end of file