diff options
Diffstat (limited to 'testing/web-platform/tests/eventsource/eventsource-reconnect.htm')
-rw-r--r-- | testing/web-platform/tests/eventsource/eventsource-reconnect.htm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/eventsource-reconnect.htm b/testing/web-platform/tests/eventsource/eventsource-reconnect.htm new file mode 100644 index 000000000..a23885f08 --- /dev/null +++ b/testing/web-platform/tests/eventsource/eventsource-reconnect.htm @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> + <head> + <title>EventSource: reconnection</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <div id="log"></div> + <script> + 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", { timeout: 9000 }); + 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() + } + }); + }); + + </script> + </body> +</html> + |