Skip to content
This repository has been archived by the owner on Jul 10, 2021. It is now read-only.

Commit

Permalink
Create eventsource-request-cancellation.htm
Browse files Browse the repository at this point in the history
Update the file per web-platform-tests#285 issuecomment-47893559
Yaffle authored and wanmingx.lin committed Oct 15, 2014
1 parent 1e3990a commit f8e1d25
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions eventsource/eventsource-request-cancellation.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<title>EventSource: request cancellation</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>
var test = async_test(null, {timeout: 5000});
var url = "resources/message.py?sleep=1000&message=" + encodeURIComponent("retry:1000\ndata:abc\n\n");
var es = new EventSource(url);
var lastEventTime = 0;
var lastEventType = "";
var readyStateAtLastEvent = -1;
es.onmessage =
es.onerror =
es.onopen = function (event) {
lastEventTime = (new Date()).getTime();
lastEventType = event.type;
readyStateAtLastEvent = es.readyState;
};
setTimeout(function () {
if (typeof window.stop === "function") {
window.stop();
}
}, 100);
setTimeout(function () {
test.step(function () {
var isActive = ((new Date()).getTime() - lastEventTime) < 2500;
if (es.readyState === EventSource.CLOSED) {
var message = "In case EventSource was stopped, it should not be active, and the last event should be an error event.";
assert_true(!isActive, message);
assert_true(lastEventType === "error", message);
assert_true(readyStateAtLastEvent === EventSource.CLOSED, message);
} else {
assert_true(isActive, "EventSource is active, but readyState is EventSource.CLOSED.");
}
});
es.close();
test.done();
}, 4000);
</script>
</body>
</html>

0 comments on commit f8e1d25

Please sign in to comment.