<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <script src="../../resources/js-test.js"></script> </head> <script> window.jsTestIsAsync = true; description("This test checks behavior of Canvas::drawImage with a broken source image."); // Create an image with invalid data. var invalidImage = new Image(); invalidImage.src = 'resources/shadow-offset.js'; invalidImage.onerror = draw; var ctx = document.createElement("canvas").getContext('2d'); function draw() { // null and undefined images should throw TypeError shouldThrow("ctx.drawImage(null, 0, 0)"); shouldThrow("ctx.drawImage(null, 0, 0, 20, 20)"); shouldThrow("ctx.drawImage(null, 0, 0, 20, 20, 0, 0, 20, 20)"); shouldThrow("ctx.drawImage(undefined, 0, 0)"); shouldThrow("ctx.drawImage(undefined, 0, 0, 20, 20)"); shouldThrow("ctx.drawImage(undefined, 0, 0, 20, 20, 0, 0, 20, 20)"); // broken images should not throw shouldThrow("ctx.drawImage(invalidImage, 0, 0)"); shouldThrow("ctx.drawImage(invalidImage, 0, 0, 20, 20)"); shouldThrow("ctx.drawImage(invalidImage, 0, 0, 20, 20, 0, 0, 20, 20)"); shouldThrow("ctx.drawImage(invalidImage, 0, 0, 0, 20)"); shouldThrow("ctx.drawImage(invalidImage, 0, 0, 0, 20, 0, 0, 20, 20)"); finishJSTest(); } </script> </body> </html>