|  | <!DOCTYPE html> | 
|  | <meta name="timeout" content="long"> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script src="resources/test-helper.js"></script> | 
|  |  | 
|  | <script> | 
|  | // "bare/..." (i.e. without leading "./") are bare specifiers | 
|  | // (not relative paths). | 
|  | const importMap = ` | 
|  | { | 
|  | "imports": { | 
|  | "bare": "./resources/log.js?pipe=sub&name=bare", | 
|  |  | 
|  | "data:text/javascript,log.push('data:foo')": "./resources/log.js?pipe=sub&name=foo", | 
|  | "data:text/javascript,log.push('data:cross-origin-foo')": "https://{{domains[www1]}}:{{ports[https][0]}}/import-maps/resources/log.js?pipe=sub&name=cross-origin-foo", | 
|  | "data:text/javascript,log.push('data:to-data')": "data:text/javascript,log.push('dataURL')", | 
|  |  | 
|  | "data:text/javascript,log.push('data:to-bare')": "bare" | 
|  | } | 
|  | } | 
|  | `; | 
|  |  | 
|  | const tests = { | 
|  | // Arrays of expected results for: | 
|  | // - <script src type="module">, | 
|  | // - <script src> (classic script), | 
|  | // - static import, and | 
|  | // - dynamic import. | 
|  |  | 
|  | // data: to HTTP(S). | 
|  | "data:text/javascript,log.push('data:foo')": | 
|  | [Result.URL, Result.URL, "log:foo", "log:foo"], | 
|  | "data:text/javascript,log.push('data:cross-origin-foo')": | 
|  | [Result.URL, Result.URL, "log:cross-origin-foo", "log:cross-origin-foo"], | 
|  |  | 
|  | // data: to data: | 
|  | "data:text/javascript,log.push('data:to-data')": | 
|  | [Result.URL, Result.URL, "dataURL", "dataURL"], | 
|  |  | 
|  | // data: to bare mapping is disabled. | 
|  | "data:text/javascript,log.push('data:to-bare')": | 
|  | [Result.URL, Result.URL, Result.PARSE_ERROR, Result.PARSE_ERROR], | 
|  | }; | 
|  |  | 
|  | doTests(importMap, null, tests); | 
|  | </script> | 
|  | <body> |