|  | // 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") + "."); | 
|  | } |