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

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

Issue 836823002: Encode the Last-Event-ID header in EventSource as UTF-8. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 5 years, 3 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
1 if (self.importScripts) 1 if (self.importScripts)
2 importScripts("/js-test-resources/js-test.js"); 2 importScripts("/js-test-resources/js-test.js");
3 3
4 description("Test EventSource reconnect after end of event stream."); 4 description("Test EventSource reconnect after end of event stream.");
5 5
6 self.jsTestIsAsync = true; 6 self.jsTestIsAsync = true;
7 7
8 var retryTimeout; 8 var retryTimeout;
9 9
10 function checkReadyState(es, desiredState) { 10 function checkReadyState(es, desiredState) {
11 shouldBe("es.readyState", "es." + desiredState); 11 shouldBe("es.readyState", "es." + desiredState);
12 } 12 }
13 13
14 var errCount = 0; 14 var errCount = 0;
15 var es = new EventSource("/eventsource/resources/reconnect.php"); 15 var es = new EventSource("/eventsource/resources/reconnect.php");
16 16
17 checkReadyState(es, "CONNECTING"); 17 checkReadyState(es, "CONNECTING");
18 18
19 es.onopen = function (evt) { 19 es.onopen = function (evt) {
20 checkReadyState(es, "OPEN"); 20 checkReadyState(es, "OPEN");
21 }; 21 };
22 22
23 var evt; 23 var evt;
24 es.onmessage = function (arg) { 24 es.onmessage = function (arg) {
25 evt = arg; 25 evt = arg;
26 if (errCount) 26 if (errCount)
27 shouldBeEqualToString("evt.data", "77"); 27 shouldBeEqualToString("evt.data", "77\u2603");
28 shouldBeEqualToString("evt.lastEventId", "77"); 28 shouldBeEqualToString("evt.lastEventId", "77\u2603");
29 }; 29 };
30 30
31 es.onerror = function () { 31 es.onerror = function () {
32 errCount++; 32 errCount++;
33 if (errCount < 2) { 33 if (errCount < 2) {
34 checkReadyState(es, "CONNECTING"); 34 checkReadyState(es, "CONNECTING");
35 retryTimeout = setTimeout(end, 1000); 35 retryTimeout = setTimeout(end, 1000);
36 return; 36 return;
37 } 37 }
38 clearTimeout(retryTimeout); 38 clearTimeout(retryTimeout);
39 retryTimeout = null; 39 retryTimeout = null;
40 end(); 40 end();
41 }; 41 };
42 42
43 function end() { 43 function end() {
44 es.close(); 44 es.close();
45 if (retryTimeout) 45 if (retryTimeout)
46 testFailed("did not reconnect in time"); 46 testFailed("did not reconnect in time");
47 else 47 else
48 checkReadyState(es, "CLOSED"); 48 checkReadyState(es, "CLOSED");
49 49
50 finishJSTest(); 50 finishJSTest();
51 } 51 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698