2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
3 <title>OffscreenCanvas test:
2d.composite.uncovered.pattern.copy
</title>
4 <script src=
"/resources/testharness.js"></script>
5 <script src=
"/resources/testharnessreport.js"></script>
6 <script src=
"/html/canvas/resources/canvas-tests.js"></script>
8 <h1>2d.composite.uncovered.pattern.copy
</h1>
9 <p class=
"desc">Pattern fill() draws pixels not covered by the source object as (
0,
0,
0,
0), and does not leave the pixels unchanged.
</p>
13 var t
= async_test("Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.");
14 var t_pass
= t
.done
.bind(t
);
15 var t_fail
= t
.step_func(function(reason
) {
20 var canvas
= new OffscreenCanvas(100, 50);
21 var ctx
= canvas
.getContext('2d');
24 ctx
.fillStyle
= 'rgba(0, 255, 255, 0.5)';
25 ctx
.fillRect(0, 0, 100, 50);
26 ctx
.globalCompositeOperation
= 'copy';
27 var promise
= new Promise(function(resolve
, reject
) {
28 var xhr
= new XMLHttpRequest();
29 xhr
.open("GET", '/images/yellow.png');
30 xhr
.responseType
= 'blob';
32 xhr
.onload = function() {
33 resolve(xhr
.response
);
36 promise
.then(function(response
) {
37 createImageBitmap(response
).then(bitmap
=> {
38 ctx
.fillStyle
= ctx
.createPattern(bitmap
, 'no-repeat');
39 ctx
.fillRect(0, 50, 100, 50);
40 _assertPixelApprox(canvas
, 50,25, 0,0,0,0, 5);
42 }).then(t_pass
, t_fail
);