summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm')
-rw-r--r--testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm43
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm b/testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm
new file mode 100644
index 000000000..acdbddbf2
--- /dev/null
+++ b/testing/web-platform/tests/XMLHttpRequest/open-url-worker-origin.htm
@@ -0,0 +1,43 @@
+ <!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8" />
+ <title>XMLHttpRequest: worker scripts, origin and referrer</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::OL[1]/LI[3] following::OL[1]/LI[3]/ol[1]/li[1] following::OL[1]/LI[3]/ol[1]/li[2] following::OL[1]/LI[3]/ol[1]/li[3]" />
+</head>
+<body>
+ <div id="log"></div>
+ <script type="text/javascript">
+ var test = async_test() // This "test" does not actually do any assertations. It's just there to have multiple, separate, asyncronous sub-tests.
+ var expectations = {
+ 'Referer header': 'referer: '+(location.href.replace(/[^/]*$/, ''))+"resources/workerxhr-origin-referrer.js\n",
+ 'Origin header': 'origin: '+location.protocol+'//'+location.hostname+((location.port === "")?"":":"+location.port)+'\n',
+ 'Request URL test' : (location.href.replace(/[^/]*$/, ''))+'resources/requri.py?full'
+ }
+ // now start the worker
+ var worker = new Worker("resources/workerxhr-origin-referrer.js", true)
+ worker.onmessage = function (e) {
+ var subtest = async_test(e.data.test)
+ subtest.step(function(){
+ var thisExpectation = expectations[e.data.test]
+ delete expectations[e.data.test]
+ assert_equals(e.data.result, thisExpectation)
+ subtest.done()
+ })
+ var allDone = true
+ for(var prop in expectations){
+ allDone = false
+ }
+ if(allDone){
+ test.step(function(){
+ test.done()
+ })
+ }
+ }
+
+ </script>
+</body>
+</html>
+