<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>Canvas test: 2d.drawImage.wrongtype</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/canvas-tests.js"></script>
<link rel="stylesheet" href="/common/canvas-tests.css">
<body class="show_output">

<h1>2d.drawImage.wrongtype</h1>
<p class="desc">Incorrect image types in drawImage do not match any defined overloads, so WebIDL throws a TypeError</p>

<p class="notes">Defined in "Web IDL" (draft)
<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("Incorrect image types in drawImage do not match any defined overloads, so WebIDL throws a TypeError");
_addTest(function(canvas, ctx) {

assert_throws(new TypeError(), function() { ctx.drawImage(undefined, 0, 0); });
assert_throws(new TypeError(), function() { ctx.drawImage(0, 0, 0); });
assert_throws(new TypeError(), function() { ctx.drawImage("", 0, 0); });
assert_throws(new TypeError(), function() { ctx.drawImage(document.createElement('p'), 0, 0); });


});
</script>

