gecko-dev/testing/web-platform/tests/eventsource/eventsource-reconnect.htm
James Graham dda86cd70e Bug 945222 - Initial import of web-platform-tests testsuite 1/4: test data
--HG--
extra : rebase_source : d635a4f39c587d4d381b486dd63de747865b77a2
2014-09-04 12:48:31 +01:00

59 lines
1.7 KiB
HTML

<!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>