diff options
Diffstat (limited to 'testing/web-platform/tests/preload/preload-invalid-resources.html')
-rw-r--r-- | testing/web-platform/tests/preload/preload-invalid-resources.html | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/preload/preload-invalid-resources.html b/testing/web-platform/tests/preload/preload-invalid-resources.html new file mode 100644 index 0000000000..be6f79e8e6 --- /dev/null +++ b/testing/web-platform/tests/preload/preload-invalid-resources.html @@ -0,0 +1,35 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/utils.js"></script> +<script src="/preload/resources/preload_helper.js"></script> +<body> +<script> + +const invalidImages = { + 'invalid data': '/preload/resources/echo-with-cors.py?type=image/svg+xml&content=junk', + missing: '/nothing.png' +} + +Object.entries(invalidImages).forEach(([name, url]) => { + promise_test(async t => { + const invalidImageURL = getAbsoluteURL(url) + const link = document.createElement('link'); + link.rel = 'preload'; + link.as = 'image'; + link.href = url; + document.head.appendChild(link); + t.add_cleanup(() => link.remove()); + await new Promise(resolve => { + const img = document.createElement('img'); + img.src = url; + img.onerror = resolve; + document.body.appendChild(img); + t.add_cleanup(() => img.remove()); + }); + verifyNumberOfResourceTimingEntries(url, 1); + }, `Preloading an invalid image (${name}) should preload and not re-fetch`) +}) + +</script> +</body>
\ No newline at end of file |