| <html> | |
| <body> | |
| <p>Test that EventSource discards event data if there is no newline before eof. Should print a series of PASS messages followed by DONE.</p> | |
| <div id="result"></div> | |
| <script> | |
| function log(msg) { | |
| document.getElementById("result").innerHTML += msg + "<br>"; | |
| } | |
| if (window.testRunner) { | |
| testRunner.dumpAsText(); | |
| testRunner.waitUntilDone(); | |
| } | |
| var count = 1; | |
| var es = new EventSource("resources/es-eof.php"); | |
| es.onerror = function () { | |
| if (count++ == 3) { | |
| es.close(); | |
| if (window.testRunner) | |
| testRunner.notifyDone(); | |
| } | |
| }; | |
| es.onmessage = function (evt) { | |
| if (evt.data == ("DATA" + count)) { | |
| if (evt.lastEventId == count) { | |
| if (evt.type == "message") | |
| log("PASS: got event with expected data, lastEventId, and type"); | |
| else | |
| log("FAIL: got expected data and lastEventId but type is wrong"); | |
| } | |
| else if (evt.type == "message") | |
| log("FAIL: got expected data but lastEventId is wrong"); | |
| else | |
| log("FAIL: got expected data but lastEventId and type are wrong"); | |
| } | |
| else if (count == 3 && evt.data == "DATA" && evt.lastEventId == "3.1" && evt.type == "msg") | |
| log("DONE"); | |
| else | |
| log("FAIL: got unexpected message event"); | |
| }; | |
| es.addEventListener("msg", es.onmessage); | |
| </script> | |
| </body> | |
| </html> |