summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/eventsource/eventsource-reconnect.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/eventsource/eventsource-reconnect.window.js')
-rw-r--r--testing/web-platform/tests/eventsource/eventsource-reconnect.window.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/eventsource-reconnect.window.js b/testing/web-platform/tests/eventsource/eventsource-reconnect.window.js
new file mode 100644
index 0000000000..551fbdc88b
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/eventsource-reconnect.window.js
@@ -0,0 +1,47 @@
+// META: title=EventSource: reconnection
+
+ function doReconn(url, title) {
+ var test = async_test(document.title + " " + title)
+ test.step(function() {
+ var source = new EventSource(url)
+ source.onmessage = test.step_func(function(e) {
+ assert_equals(e.data, "data")
+ source.close()
+ test.done()
+ })
+ })
+ }
+
+ doReconn("resources/status-reconnect.py?status=200",
+ "200")
+
+
+ var t = async_test(document.title + ", test reconnection events");
+ t.step(function() {
+ var opened = false, reconnected = false,
+ source = new EventSource("resources/status-reconnect.py?status=200&ok_first&id=2");
+
+ source.onerror = t.step_func(function(e) {
+ assert_equals(e.type, 'error');
+ assert_equals(source.readyState, source.CONNECTING, "readyState");
+ assert_true(opened, "connection is opened earlier");
+
+ reconnected = true;
+ });
+
+ source.onmessage = t.step_func(function(e) {
+ if (!opened) {
+ opened = true;
+ assert_false(reconnected, "have reconnected before first message");
+ assert_equals(e.data, "ok");
+ }
+ else {
+ assert_true(reconnected, "Got reconnection event");
+ assert_equals(e.data, "data");
+ source.close()
+ t.done()
+ }
+ });
+ });
+
+