blob: b346b92471b19af094f8d899678ee28df480055a [file] [log] [blame]
if (self.importScripts)
importScripts("/js-test-resources/js-test.js");
description("Test that EventSource cross-origin requests with credentials fail until the correct CORS headers are sent.");
self.jsTestIsAsync = true;
var count = 1;
var es, evt;
function runTest() {
shouldNotThrow("es = new EventSource(\"http://127.0.0.1:8080/eventsource/resources/es-cors-credentials.php?count=" + count + "\", {'withCredentials': true})");
shouldBeTrue("es.withCredentials");
es.onerror = function () {
if (es.readyState == es.CLOSED) {
shouldBeTrue("count != 4 && count != 5");
count++;
setTimeout(runTest);
return;
}
shouldBe("count", "5");
};
es.onmessage = function (arg) {
evt = arg;
shouldBeTrue("evt.origin.indexOf('http://127.0.0.1:8080') === 0");
if (count == 4) {
shouldBeEqualToString("evt.data", "DATA1");
shouldBeEqualToString("evt.lastEventId", "77");
count++;
return;
}
shouldBe("count", "5");
shouldBeEqualToString("evt.data", "DATA2");
es.close();
finishJSTest();
};
}
runTest();