| OLD | NEW |
| 1 <html> | 1 <!DOCTYPE HTML> |
| 2 <body> | 2 <script src="/js-test-resources/js-test.js"></script> |
| 3 <p>Test EventSource text/event-stream parsing. Should print a series of PASS mes
sages followed by DONE.</p> | 3 <script src="script-tests/eventsource-parse-event-stream.js"></script> |
| 4 <div id="result"></div> | |
| 5 <script> | |
| 6 function log(msg) { | |
| 7 document.getElementById("result").innerHTML += msg + "<br>"; | |
| 8 } | |
| 9 | |
| 10 if (window.testRunner) { | |
| 11 testRunner.dumpAsText(); | |
| 12 testRunner.waitUntilDone(); | |
| 13 } | |
| 14 | |
| 15 var count = -1; | |
| 16 var es = new EventSource("resources/event-stream.php"); | |
| 17 | |
| 18 es.onopen = function (evt) { | |
| 19 if (!evt.data) | |
| 20 log("PASS: got open event"); | |
| 21 else | |
| 22 log("PASS: got open event from server"); | |
| 23 }; | |
| 24 | |
| 25 es.onmessage = function (evt) { | |
| 26 switch(count++) { | |
| 27 case -1: | |
| 28 if (evt.data == "\n\n") | |
| 29 log("PASS: received event with two newlines"); | |
| 30 break; | |
| 31 case 0: | |
| 32 if (evt.data == "simple") | |
| 33 log("PASS: received event with data \"simple\""); | |
| 34 break; | |
| 35 case 1: | |
| 36 if (evt.data == "spanning\nmultiple\n\nlines\n") | |
| 37 log("PASS: received event with data spanning multiple lines"); | |
| 38 break; | |
| 39 case 2: | |
| 40 if (evt.data == "id is 1" && evt.lastEventId == "1") | |
| 41 log("PASS: received event and lastEventId is \"1\""); | |
| 42 break | |
| 43 case 3: | |
| 44 if (evt.data == "id is still 1" && evt.lastEventId == "1") | |
| 45 log("PASS: received event and lastEventId is still \"1\""); | |
| 46 break; | |
| 47 case 4: | |
| 48 if (evt.data == "no id" && evt.lastEventId == "") | |
| 49 log("PASS: received event and lastEventId has been cleared"); | |
| 50 break; | |
| 51 case 5: | |
| 52 if (evt.data == "a message event with the name \"message\"") | |
| 53 log("PASS: received event and the event name has been reset"); | |
| 54 break; | |
| 55 case 6: | |
| 56 if (evt.data == "a line ending with crlf\na line with a : (colon)\na
line ending with cr"); | |
| 57 log("PASS: received event with data that contains a colon"); | |
| 58 break; | |
| 59 default: | |
| 60 log("FAIL: got unexpected event"); | |
| 61 es.close(); | |
| 62 } | |
| 63 }; | |
| 64 | |
| 65 es.onerror = function () { | |
| 66 es.close(); | |
| 67 | |
| 68 if (count != 7) | |
| 69 log("FAIL: got unexpected error event"); | |
| 70 else | |
| 71 log("DONE"); | |
| 72 | |
| 73 if (window.testRunner) | |
| 74 testRunner.notifyDone(); | |
| 75 }; | |
| 76 </script> | |
| 77 </body> | |
| 78 </html> | |
| OLD | NEW |