| <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> |