ladybird/Tests/LibWeb/Text/input/HTML/image-srcset-load-after-document-destroy.html

48 lines
1.3 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<script src="../include.js"></script>
<script>
// Test: Image with srcset attribute loading from a delayed server.
// The iframe is removed before the image arrives.
asyncTest(async done => {
const server = httpTestServer();
const svgBody = '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><rect width="10" height="10" fill="green"/></svg>';
const imageUrl1x = await server.createEcho("GET", "/delayed-srcset-1x.svg", {
status: 200,
headers: {
"Content-Type": "image/svg+xml",
"Access-Control-Allow-Origin": "*",
},
body: svgBody,
delay_ms: 200,
});
const imageUrl2x = await server.createEcho("GET", "/delayed-srcset-2x.svg", {
status: 200,
headers: {
"Content-Type": "image/svg+xml",
"Access-Control-Allow-Origin": "*",
},
body: svgBody,
delay_ms: 200,
});
const iframe = document.createElement("iframe");
document.body.appendChild(iframe);
const doc = iframe.contentDocument;
const img = doc.createElement("img");
img.srcset = `${imageUrl1x} 1x, ${imageUrl2x} 2x`;
doc.body.appendChild(img);
setTimeout(() => {
iframe.remove();
}, 50);
setTimeout(() => {
println("PASS");
done();
}, 1000);
});
</script>