<!DOCTYPE html>
<html>
<head>
    <script src="../../resources/js-test-pre.js"></script>
</head>
<body>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }

        var svg = new Image();
        svg.src = "resources/link-xhtml.svg";

        svg.onload = function() {
            var canvas = document.createElement("canvas");
            window.ctx = canvas.getContext("2d");

            ctx.getImageData(0, 0, 1, 1);

            ctx.drawImage(svg, 0, 0);

            shouldThrow("window.ctx.getImageData(0, 0, 1, 1)");

            if (window.testRunner)
                testRunner.notifyDone();
        };
    </script>
</body>
</html>
