blob: 62f650e4ebbd1709b20260057e28239a2b366dd8 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Test canvas createImageData()");
ctx = document.createElement('canvas').getContext('2d');
shouldThrowErrorName("ctx.createImageData(null)", "TypeError");
// 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");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>