54 lines
1.4 KiB
HTML
54 lines
1.4 KiB
HTML
<html>
|
|
<body>
|
|
<p>Test EventSource attribute listener functionality. 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 es = new EventSource("eventsource");
|
|
|
|
if (es.onopen == null && es.onmessage == null && es.onerror == null)
|
|
log("PASS: attribute listeners are initially null");
|
|
else
|
|
log("FAIL: attribute listeners are not null initially");
|
|
|
|
var a = function () {};
|
|
es.onopen = a;
|
|
if (es.onopen == a)
|
|
log("PASS: setting and getting attribute listener works");
|
|
else
|
|
log("FAIL: setting/getting attribute listener does not work");
|
|
|
|
var b = function () {};
|
|
es.onopen = b;
|
|
if (es.onopen == b)
|
|
log("PASS: resetting attribute listener works");
|
|
else
|
|
log("FAIL: resetting attribute listener does not work");
|
|
|
|
var flag = false;
|
|
es.onmessage = function (e) { flag = (e.data == "hello"); };
|
|
var evt = document.createEvent("MessageEvent");
|
|
evt.initMessageEvent("message", false, false, "hello", null, null, null, []);
|
|
es.dispatchEvent(evt);
|
|
if (flag) {
|
|
log("PASS: dispatching event on an EventSource triggers attribute listener");
|
|
log("DONE");
|
|
}
|
|
else
|
|
log("FAIL: dispatching event on an EventSource does not trigger attribute listener");
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|