1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <!DOCTYPE html>
- <script src="../include.js"></script>
- <script type="text/javascript">
- const SOURCES = [
- "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==", // Valid
- "file:///i-do-not-exist", // invalid
- "https://something.invalid", // invalid
- ];
- const runTest = (source) => {
- const svgNamespace = "http://www.w3.org/2000/svg";
- const image = document.createElementNS(svgNamespace, "image");
- const svg = document.createElementNS(svgNamespace, "svg");
- svg.appendChild(image);
- document.body.appendChild(svg);
- return new Promise((resolve) => {
- image.addEventListener("load", () => {
- resolve(`SUCCESS: "${source}"`);
- document.body.removeChild(svg);
- });
- image.addEventListener("error", () => {
- resolve(`FAIL: "${source}"`);
- document.body.removeChild(svg);
- });
- image.setAttributeNS("http://www.w3.org/1999/xlink", "href", source);
- });
- };
- asyncTest(done => {
- const promises = SOURCES.map(source => runTest(source));
- Promise.allSettled(promises)
- .then(results => {
- results.forEach(result => println(result.value));
- })
- .finally(done);
- });
- </script>
|