| // DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. |
| // OffscreenCanvas test in a worker:2d.imageData.create2.large |
| // Description:createImageData(sw, sh) works for sizes much larger than the canvas |
| // Note: |
| |
| importScripts("/resources/testharness.js"); |
| importScripts("/html/canvas/resources/canvas-tests.js"); |
| |
| var t = async_test("createImageData(sw, sh) works for sizes much larger than the canvas"); |
| var t_pass = t.done.bind(t); |
| var t_fail = t.step_func(function(reason) { |
| throw reason; |
| }); |
| t.step(function() { |
| |
| var canvas = new OffscreenCanvas(100, 50); |
| var ctx = canvas.getContext('2d'); |
| |
| var imgdata = ctx.createImageData(1000, 2000); |
| _assertSame(imgdata.data.length, imgdata.width*imgdata.height*4, "imgdata.data.length", "imgdata.width*imgdata.height*4"); |
| _assert(imgdata.width < imgdata.height, "imgdata.width < imgdata.height"); |
| _assert(imgdata.width > 0, "imgdata.width > 0"); |
| var isTransparentBlack = true; |
| for (var i = 0; i < imgdata.data.length; i += 7813) // check ~1024 points (assuming normal scaling) |
| if (imgdata.data[i] !== 0) |
| isTransparentBlack = false; |
| _assert(isTransparentBlack, "isTransparentBlack"); |
| t.done(); |
| }); |
| done(); |