Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: LayoutTests/http/tests/eventsource/script-tests/eventsource-reconnect.js

Issue 347043002: Rework EventSource tests for better Worker test coverage. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Move out CORS tests Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 if (self.importScripts)
2 importScripts("/js-test-resources/js-test.js");
3
4 description("Test EventSource reconnect after end of event stream.");
5
6 self.jsTestIsAsync = true;
7
8 var retryTimeout;
9
10 function checkReadyState(es, desiredState) {
11 shouldBe("es.readyState", "es." + desiredState);
12 }
13
14 var errCount = 0;
15 var es = new EventSource("/eventsource/resources/reconnect.php");
16
17 checkReadyState(es, "CONNECTING");
18
19 es.onopen = function (evt) {
20 checkReadyState(es, "OPEN");
21 };
22
23 var evt;
24 es.onmessage = function (arg) {
25 evt = arg;
26 if (errCount)
27 shouldBeEqualToString("evt.data", "77");
28 shouldBeEqualToString("evt.lastEventId", "77");
29 };
30
31 es.onerror = function () {
32 errCount++;
33 if (errCount < 2) {
34 checkReadyState(es, "CONNECTING");
35 retryTimeout = setTimeout(end, 1000);
36 return;
37 }
38 clearTimeout(retryTimeout);
39 retryTimeout = null;
40 end();
41 };
42
43 function end() {
44 es.close();
45 if (retryTimeout)
46 testFailed("did not reconnect in time");
47 else
48 checkReadyState(es, "CLOSED");
49
50 finishJSTest();
51 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698