Index: LayoutTests/fast/canvas/alpha.js |
diff --git a/LayoutTests/fast/canvas/alpha.js b/LayoutTests/fast/canvas/alpha.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a649c4daaecc6b8cde33899c9abe61f08683e8e4 |
--- /dev/null |
+++ b/LayoutTests/fast/canvas/alpha.js |
@@ -0,0 +1,52 @@ |
+description("Series of tests for canvas alpha"); |
+ |
+var canvas1 = document.getElementById("canvas1"); |
+var canvas2 = document.getElementById("canvas2"); |
+var canvas3 = document.getElementById("canvas3"); |
+var canvas4 = document.getElementById("canvas4"); |
+ |
+var ctx1 = canvas1.getContext("2d"); |
+var ctx2 = canvas2.getContext("2d", {} ); |
+var ctx3 = canvas3.getContext("2d", { alpha: false } ); |
+var ctx4 = canvas4.getContext("2d", { alpha: true } ); |
+ |
+shouldBe("ctx1.getContextAttributes().alpha", "true"); |
+var imgData1 = ctx1.getImageData(0, 0, 1, 1); |
+shouldBe("imgData1.data[0]", "0"); |
+shouldBe("imgData1.data[1]", "0"); |
+shouldBe("imgData1.data[2]", "0"); |
+shouldBe("imgData1.data[3]", "0"); |
+ |
+shouldBe("ctx2.getContextAttributes().alpha", "true"); |
+var imgData2 = ctx2.getImageData(0, 0, 1, 1); |
+shouldBe("imgData2.data[0]", "0"); |
+shouldBe("imgData2.data[1]", "0"); |
+shouldBe("imgData2.data[2]", "0"); |
+shouldBe("imgData2.data[3]", "0"); |
+ |
+shouldBe("ctx3.getContextAttributes().alpha", "false"); |
+var imgData3 = ctx3.getImageData(0, 0, 1, 1); |
+shouldBe("imgData3.data[0]", "0"); |
+shouldBe("imgData3.data[1]", "0"); |
+shouldBe("imgData3.data[2]", "0"); |
+shouldBe("imgData3.data[3]", "255"); |
+ |
+shouldBe("ctx4.getContextAttributes().alpha", "true"); |
+var imgData4 = ctx4.getImageData(0, 0, 1, 1); |
+shouldBe("imgData4.data[0]", "0"); |
+shouldBe("imgData4.data[1]", "0"); |
+shouldBe("imgData4.data[2]", "0"); |
+shouldBe("imgData4.data[3]", "0"); |
+ |
+// Check that mutating the returned value of getContextAttributes() doesn't |
+// affect the existing canvas, or the values of subsequent calls to |
+// getContextAttributes(). |
+var attrs = ctx4.getContextAttributes(); |
+shouldBe("attrs.alpha", "true"); |
+attrs.alpha = false; |
+var imgData4 = ctx4.getImageData(0, 0, 1, 1); |
+shouldBe("ctx4.getContextAttributes().alpha", "true"); |
+shouldBe("imgData4.data[0]", "0"); |
+shouldBe("imgData4.data[1]", "0"); |
+shouldBe("imgData4.data[2]", "0"); |
+shouldBe("imgData4.data[3]", "0"); |