summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/import-maps/data-url-specifiers.sub.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/import-maps/data-url-specifiers.sub.html')
-rw-r--r--testing/web-platform/tests/import-maps/data-url-specifiers.sub.html48
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/import-maps/data-url-specifiers.sub.html b/testing/web-platform/tests/import-maps/data-url-specifiers.sub.html
new file mode 100644
index 0000000000..a6fa12c126
--- /dev/null
+++ b/testing/web-platform/tests/import-maps/data-url-specifiers.sub.html
@@ -0,0 +1,48 @@
+<!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>