|  | <!DOCTYPE html> | 
|  | <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> | 
|  | <title>Canvas test: 2d.missingargs</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.missingargs</h1> | 
|  | <p class="desc">Missing arguments cause TypeError</p> | 
|  |  | 
|  |  | 
|  | <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("Missing arguments cause TypeError"); | 
|  | _addTest(function(canvas, ctx) { | 
|  |  | 
|  | assert_throws(new TypeError(), function() { ctx.scale(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.scale(1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.rotate(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.translate(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.translate(0); }); | 
|  | if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported) | 
|  | assert_throws(new TypeError(), function() { ctx.transform(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.transform(1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.transform(1, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1, 0); }); | 
|  | } | 
|  | if (ctx.setTransform) { | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(1, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1, 0); }); | 
|  | } | 
|  | assert_throws(new TypeError(), function() { ctx.createLinearGradient(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createLinearGradient(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createPattern(canvas); }); | 
|  | assert_throws(new TypeError(), function() { ctx.clearRect(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.clearRect(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.clearRect(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.clearRect(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillRect(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillRect(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillRect(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillRect(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeRect(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeRect(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.moveTo(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.moveTo(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.lineTo(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.lineTo(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arcTo(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arcTo(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arcTo(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.rect(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.rect(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.rect(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.rect(0, 0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arc(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arc(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arc(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1); }); | 
|  | assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1, 0); }); | 
|  | // (6th argument to arc is optional) | 
|  | if (ctx.isPointInPath) { | 
|  | assert_throws(new TypeError(), function() { ctx.isPointInPath(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.isPointInPath(0); }); | 
|  | } | 
|  | if (ctx.drawFocusRing) { | 
|  | assert_throws(new TypeError(), function() { ctx.drawFocusRing(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.drawFocusRing(canvas); }); | 
|  | assert_throws(new TypeError(), function() { ctx.drawFocusRing(canvas, 0); }); | 
|  | } | 
|  | if (ctx.fillText) { | 
|  | assert_throws(new TypeError(), function() { ctx.fillText(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillText('test'); }); | 
|  | assert_throws(new TypeError(), function() { ctx.fillText('test', 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeText(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeText('test'); }); | 
|  | assert_throws(new TypeError(), function() { ctx.strokeText('test', 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.measureText(); }); | 
|  | } | 
|  | assert_throws(new TypeError(), function() { ctx.drawImage(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.drawImage(canvas); }); | 
|  | assert_throws(new TypeError(), function() { ctx.drawImage(canvas, 0); }); | 
|  | // TODO: n >= 3 args on drawImage could be either a valid overload, | 
|  | // or too few for another overload, or too many for another | 
|  | // overload - what should happen? | 
|  | if (ctx.createImageData) { | 
|  | assert_throws(new TypeError(), function() { ctx.createImageData(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.createImageData(1); }); | 
|  | } | 
|  | if (ctx.getImageData) { | 
|  | assert_throws(new TypeError(), function() { ctx.getImageData(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.getImageData(0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.getImageData(0, 0); }); | 
|  | assert_throws(new TypeError(), function() { ctx.getImageData(0, 0, 1); }); | 
|  | } | 
|  | if (ctx.putImageData) { | 
|  | var imgdata = ctx.getImageData(0, 0, 1, 1); | 
|  | assert_throws(new TypeError(), function() { ctx.putImageData(); }); | 
|  | assert_throws(new TypeError(), function() { ctx.putImageData(imgdata); }); | 
|  | assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0); }); | 
|  | } | 
|  | var g = ctx.createLinearGradient(0, 0, 0, 0); | 
|  | assert_throws(new TypeError(), function() { g.addColorStop(); }); | 
|  | assert_throws(new TypeError(), function() { g.addColorStop(0); }); | 
|  |  | 
|  |  | 
|  | }); | 
|  | </script> | 
|  |  |