Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// 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();