2d.imageData.create2.nonfinite.worker.js (2035B)
1 // DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. 2 // OffscreenCanvas test in a worker:2d.imageData.create2.nonfinite 3 // Description:createImageData() throws TypeError if arguments are not finite 4 // Note:<p class="notes">Defined in "Web IDL" (draft) 5 6 importScripts("/resources/testharness.js"); 7 importScripts("/html/canvas/resources/canvas-tests.js"); 8 9 var t = async_test("createImageData() throws TypeError if arguments are not finite"); 10 var t_pass = t.done.bind(t); 11 var t_fail = t.step_func(function(reason) { 12 throw reason; 13 }); 14 t.step(function() { 15 16 var canvas = new OffscreenCanvas(100, 50); 17 var ctx = canvas.getContext('2d'); 18 19 assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, 10); }); 20 assert_throws_js(TypeError, function() { ctx.createImageData(-Infinity, 10); }); 21 assert_throws_js(TypeError, function() { ctx.createImageData(NaN, 10); }); 22 assert_throws_js(TypeError, function() { ctx.createImageData(10, Infinity); }); 23 assert_throws_js(TypeError, function() { ctx.createImageData(10, -Infinity); }); 24 assert_throws_js(TypeError, function() { ctx.createImageData(10, NaN); }); 25 assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, Infinity); }); 26 var posinfobj = { valueOf: function() { return Infinity; } }, 27 neginfobj = { valueOf: function() { return -Infinity; } }, 28 nanobj = { valueOf: function() { return -Infinity; } }; 29 assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, 10); }); 30 assert_throws_js(TypeError, function() { ctx.createImageData(neginfobj, 10); }); 31 assert_throws_js(TypeError, function() { ctx.createImageData(nanobj, 10); }); 32 assert_throws_js(TypeError, function() { ctx.createImageData(10, posinfobj); }); 33 assert_throws_js(TypeError, function() { ctx.createImageData(10, neginfobj); }); 34 assert_throws_js(TypeError, function() { ctx.createImageData(10, nanobj); }); 35 assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, posinfobj); }); 36 t.done(); 37 }); 38 done();