blob: c2a83d4a427b3a5b6ab237795ad1671e7f703aea [file] [log] [blame]
<script src="../../../../resources/testharness.js"></script>
<script src="../../../../resources/testharnessreport.js"></script>
<script type='text/javascript'>
async_test(t => {
var numAsyncCalls = 2;
function finishOneAsyncCall()
{
if (--numAsyncCalls == 0)
t.done();
}
var canvas = document.createElement('canvas');
var ctx = canvas.getContext("2d");
ctx.strokeStyle = "red";
ctx.strokeRect(0, 0, 50, 50);
assert_throws_js(TypeError, function() {canvas.toBlob();});
assert_throws_js(TypeError, function() {canvas.toBlob(null);});
assert_throws_js(TypeError, function() {canvas.toBlob(undefined);});
// Passing the callback argument without blob handle silently fails.
canvas.toBlob(function() { finishOneAsyncCall(); });
// Invalid quality argument will fall back to default value
canvas.toBlob(function(blob) { finishOneAsyncCall(); }, 'image/jpeg', 500);
}, "Test the handling of invalid arguments in canvas toBlob().");
</script>