summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-createImageData.js
blob: c2bbb976e56b0641444320bb14b374c5b146ee9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
description("Test canvas createImageData()");

ctx = document.createElement('canvas').getContext('2d');

shouldThrow("ctx.createImageData(null)");

// create a 100x50 imagedata and fill it with white pixels

imageData = ctx.createImageData(100, 50);

for (i = 0; i < imageData.data.length; ++i)
    imageData.data[i] = 255;

shouldBe("imageData.width", "100");
shouldBe("imageData.height", "50");
shouldBe("imageData.data[32]", "255");

// createImageData(imageData) should create a new ImageData of the same size as 'imageData'
// but filled with transparent black

sameSizeImageData = ctx.createImageData(imageData);
shouldBe("sameSizeImageData.width", "100");
shouldBe("sameSizeImageData.height", "50");
shouldBe("sameSizeImageData.data[32]", "0");

// createImageData(width, height) takes the absolute magnitude of the size arguments

imgdata1 = ctx.createImageData(10, 20);
imgdata2 = ctx.createImageData(-10, 20);
imgdata3 = ctx.createImageData(10, -20);
imgdata4 = ctx.createImageData(-10, -20);

shouldBe("imgdata1.data.length", "800");
shouldBe("imgdata1.data.length", "imgdata2.data.length");
shouldBe("imgdata2.data.length", "imgdata3.data.length");
shouldBe("imgdata3.data.length", "imgdata4.data.length");