mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 11:15:34 +00:00
dda86cd70e
--HG-- extra : rebase_source : d635a4f39c587d4d381b486dd63de747865b77a2
59 lines
1.7 KiB
HTML
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>
|
|
|