Index: LayoutTests/http/tests/eventsource/script-tests/eventsource-cors-basic.js |
diff --git a/LayoutTests/http/tests/eventsource/script-tests/eventsource-cors-basic.js b/LayoutTests/http/tests/eventsource/script-tests/eventsource-cors-basic.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5f916e0609a1a1b26a717d66a58781b660b4e2a4 |
--- /dev/null |
+++ b/LayoutTests/http/tests/eventsource/script-tests/eventsource-cors-basic.js |
@@ -0,0 +1,39 @@ |
+if (self.importScripts) |
+ importScripts("/js-test-resources/js-test.js"); |
+ |
+description("Test that basic EventSource cross-origin requests fail until they are allowed by the Access-Control-Allow-Origin header."); |
+ |
+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-basic.php?count=" + count + "\")"); |
+ shouldBeFalse("es.withCredentials"); |
+ es.onerror = function () { |
+ if (es.readyState == es.CLOSED) { |
+ shouldBe("es.readyState", "es.CLOSED"); |
+ shouldBeTrue("count != 3 && count != 4"); |
+ count++; |
+ setTimeout(runTest); |
+ return; |
+ } |
+ shouldBe("count", "4"); |
+ }; |
+ es.onmessage = function (arg) { |
+ evt = arg; |
+ shouldBeTrue("evt.origin.indexOf('http://127.0.0.1:8080') === 0"); |
+ if (count == 3) { |
+ shouldBeTrue("evt.data == 'DATA1' && evt.lastEventId == '77'"); |
+ count++; |
+ return; |
+ } |
+ shouldBe("count", "4"); |
+ shouldBeEqualToString("evt.data", "DATA2"); |
+ debug("DONE"); |
+ es.close(); |
+ finishJSTest(); |
+ }; |
+} |
+runTest(); |