// META: global=worker // // Tentative test for https://github.com/whatwg/html/issues/3255 let test_cases = [ // Supported mimetypes: ["text/javascript", true], ["application/javascript", true], ["text/ecmascript", true], // Blocked mimetpyes: ["image/png", false], ["text/csv", false], ["video/mpeg", false], // Legacy mimetypes: ["text/html", false], ["text/plain", false], ["application/xml", false], ["application/octet-stream", false], // Potato mimetypes: ["text/potato", false], ["potato/text", false], ["aaa/aaa", false], ["zzz/zzz", false], // Parameterized mime types: ["text/javascript; charset=utf-8", true], ["text/javascript;charset=utf-8", true], ["text/javascript;bla;bla", true], ["text/csv; charset=utf-8", false], ["text/csv;charset=utf-8", false], ["text/csv;bla;bla", false], // Funky capitalization: ["Text/html", false], ["text/Html", false], ["TeXt/HtMl", false], ["TEXT/HTML", false], ]; for (const [mimeType, isScriptType] of test_cases) { test(t => { let import_url = "/workers/support/imported_script.py?mime=" + mimeType; if (isScriptType) { assert_equals(undefined, importScripts(import_url)); } else { assert_throws_dom("NetworkError", _ => { importScripts(import_url) }) } }, "importScripts() requires scripty MIME types: " + mimeType + " is " + (isScriptType ? "allowed" : "blocked") + "."); }