blob: a23885f08bf48c65b7034c729bffc0dfdf41592d [file] [log] [blame]
<!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>