summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/preload/link-header-modulepreload.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/preload/link-header-modulepreload.html')
-rw-r--r--testing/web-platform/tests/preload/link-header-modulepreload.html30
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/preload/link-header-modulepreload.html b/testing/web-platform/tests/preload/link-header-modulepreload.html
new file mode 100644
index 0000000000..fd759f6251
--- /dev/null
+++ b/testing/web-platform/tests/preload/link-header-modulepreload.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Makes sure that Link headers support modulepreload</title>
+<meta name="timeout" content="long">
+<script src="/common/utils.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/preload/resources/preload_helper.js"></script>
+<body>
+<script>
+ promise_test(async t => {
+ const id = token();
+ const moduleLink = getAbsoluteURL('./resources/module1.js');
+ const params = new URLSearchParams();
+ params.set('link', `<${moduleLink}>;rel=modulepreload`);
+ params.set('type', 'text/html');
+ params.set('file', 'modulepreload-iframe.html')
+ const docURL = getAbsoluteURL(`./resources/echo-preload-header.py?${params.toString()}`);
+ const iframe = document.createElement('iframe');
+ t.add_cleanup(() => iframe.remove());
+ iframe.src = docURL;
+ const messageReceived = new Promise(resolve => window.addEventListener('message', m => {
+ resolve(m.data);
+ }))
+ document.body.appendChild(iframe);
+ const result = await messageReceived;
+ assert_equals(result, 1);
+ }, 'test that a header-preloaded module is loaded and consumed');
+</script>
+</body>