Skip to content

Commit

Permalink
Update and expand worker MIME type checking tests
Browse files Browse the repository at this point in the history
  • Loading branch information
domenic committed Aug 17, 2020
1 parent d9d78b5 commit 031409f
Showing 1 changed file with 30 additions and 11 deletions.
41 changes: 30 additions & 11 deletions workers/Worker_script_mimetype.htm
Original file line number Diff line number Diff line change
@@ -1,16 +1,35 @@
<!DOCTYPE html>
<title> Worker constructor with script inside text file </title>
<title>Worker constructor with wrong MIME type scripts</title>
<meta charset="utf-8">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>

<script>
async_test(function(t) {
var worker = new Worker('./support/WorkerText.txt');
worker.onmessage = t.step_func_done(function(e) {
assert_equals(e.data, "Pass");
});
// TODO(mkwst): Revisit this after https://github.com/whatwg/html/issues/3255.
worker.onerror = t.unreached_func("Worker should load.");
worker.postMessage("start");
});
async_test(t => {
const worker = new Worker('./support/WorkerText.txt');
worker.onmessage = t.unreached_func("Worker should not recieve messages");
worker.onerror = () => t.done();
}, "HTTP(S) URLs which respond with text/plain MIME type must not work");

async_test(t => {
const url = URL.createObjectURL(new Blob(['postMessage("PASS")'])); // no MIME type parameter
const worker = new Worker(url);
worker.onmessage = () => t.done();
worker.onerror = t.unreached_func("Worker should not error");
}, "blob: URLs should load, despite no MIME type for the backing Blob");

async_test(t => {
const url = URL.createObjectURL(new Blob(['postMessage("PASS")'], { type: 'text/plain' }));
const worker = new Worker(url);
worker.onmessage = () => t.done();
worker.onerror = t.unreached_func("Worker should not error");
}, "blob: URLs should load, despite the wrong MIME type for the backing Blob");

async_test(t => {
const url = `data:text/plain,postMessage("PASS");`
const worker = new Worker(url);
worker.onmessage = () => t.done();
worker.onerror = t.unreached_func("Worker should not error");
}, "data: URLs should load, despite the wrong MIME type");

</script>

0 comments on commit 031409f

Please sign in to comment.