| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="early-hints-helpers.sub.js"></script> |
| <body> |
| <script> |
| async function fetchModuleScript(url) { |
| return new Promise((resolve, reject) => { |
| const el = document.createElement("script"); |
| el.src = url; |
| el.type = "module"; |
| el.onload = resolve; |
| el.onerror = _ => reject(new Error("Failed to fetch resource: " + url)); |
| document.body.appendChild(el); |
| }); |
| } |
| |
| const params = new URLSearchParams(window.location.search); |
| const description = params.get("description"); |
| |
| promise_test(async (t) => { |
| const resource_url = params.get("resource-url"); |
| const should_preload = params.get("should-preload") === "true"; |
| await fetchModuleScript(resource_url); |
| assert_equals(isPreloadedByEarlyHints(resource_url), should_preload); |
| }, description); |
| </script> |
| </body> |