4 <script src=
"../../resources/js-test.js"></script>
5 <script type=
"text/javascript" src=
"canvas-blending-helpers.js"></script>
6 <script type=
"text/javascript">
8 description("Series of tests to ensure correct results on applying different blend modes when globalAlpha is set.");
11 function actualColor(x
, y
) {
12 return context
.getImageData(x
, y
, 1, 1).data
;
15 function checkBlendModeResult(i
, context
, sigma
) {
16 var expectedColor
= blendColors([129 / 255, 1, 129 / 255, 1], [1, 129 / 255, 129 / 255, 0.1], i
);
17 var ac
= "actualColor(0, 0)";
18 shouldBeCloseTo(ac
+ "[0]", expectedColor
[0], sigma
);
19 shouldBeCloseTo(ac
+ "[1]", expectedColor
[1], sigma
);
20 shouldBeCloseTo(ac
+ "[2]", expectedColor
[2], sigma
);
21 shouldBeCloseTo(ac
+ "[3]", expectedColor
[3], sigma
);
25 var canvas
= document
.createElement("canvas");
29 context
= canvas
.getContext("2d");
31 for (var i
= 0; i
< blendModes
.length
; ++i
) {
32 debug("Testing blend mode " + blendModes
[i
]);
34 context
.clearRect(0, 0, 10, 10);
36 drawBackdropColorInContext(context
);
37 context
.globalCompositeOperation
= blendModes
[i
];
38 context
.globalAlpha
= 0.1;
39 drawSourceColorInContext(context
);
40 checkBlendModeResult(i
, context
, sigma
);