description("Series of tests to ensure correct behaviour of getImageData and putImageData when alpha is involved"); var ctx = document.getElementById('canvas').getContext('2d'); ctx.fillStyle = 'rgba(255, 0, 0, 0.01)'; ctx.fillRect(0, 0, 1, 200); ctx.fillStyle = 'rgba(0, 255, 0, 0.995)'; ctx.fillRect(1, 0, 199, 200); var imageData = ctx.getImageData(0, 0, 200, 200); var imgdata = imageData.data; shouldBe("imgdata[4]", "0"); shouldBe("imgdata[5]", "255"); shouldBe("imgdata[6]", "0"); shouldBe("imgdata[7]", "254"); ctx.putImageData(imageData, 0, 0); imgdata = ctx.getImageData(0, 0, 200, 200).data; shouldBe("imgdata[4]", "0"); shouldBe("imgdata[5]", "255"); shouldBe("imgdata[6]", "0"); shouldBe("imgdata[7]", "254");