Bug 1794662 [wpt PR 36401] - Batch-remove unused arguments in _assertPixel and _asser...
[gecko.git] / testing / web-platform / tests / html / canvas / offscreen / drawing-images-to-the-canvas / 2d.drawImage.9arg.destsize.html
blobd94daa861e00f87d4b4168fc45c27ae47e591562
1 <!DOCTYPE html>
2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
3 <title>OffscreenCanvas test: 2d.drawImage.9arg.destsize</title>
4 <meta name="timeout" content="long">
5 <script src="/resources/testharness.js"></script>
6 <script src="/resources/testharnessreport.js"></script>
7 <script src="/html/canvas/resources/canvas-tests.js"></script>
9 <h1>2d.drawImage.9arg.destsize</h1>
10 <p class="desc"></p>
13 <script>
14 var t = async_test("");
15 var t_pass = t.done.bind(t);
16 var t_fail = t.step_func(function(reason) {
17 throw reason;
18 });
19 t.step(function() {
21 var canvas = new OffscreenCanvas(100, 50);
22 var ctx = canvas.getContext('2d');
24 ctx.fillStyle = '#f00';
25 ctx.fillRect(0, 0, 100, 50);
26 var promise1 = new Promise(function(resolve, reject) {
27 var xhr = new XMLHttpRequest();
28 xhr.open("GET", '/images/red.png');
29 xhr.responseType = 'blob';
30 xhr.send();
31 xhr.onload = function() {
32 resolve(xhr.response);
34 });
35 var promise2 = new Promise(function(resolve, reject) {
36 var xhr = new XMLHttpRequest();
37 xhr.open("GET", '/images/green.png');
38 xhr.responseType = 'blob';
39 xhr.send();
40 xhr.onload = function() {
41 resolve(xhr.response);
43 });
44 Promise.all([promise1, promise2]).then(function(response1, response2) {
45 var promise3 = createImageBitmap(response1);
46 var promise4 = createImageBitmap(response2);
47 Promise.all([promise3, promise4]).then(function(bitmap1, bitmap2) {
48 ctx.drawImage(bitmap2, 1, 1, 1, 1, 0, 0, 100, 50);
49 ctx.drawImage(bitmap1, 0, 0, 100, 50, -50, 0, 50, 50);
50 ctx.drawImage(bitmap1, 0, 0, 100, 50, 100, 0, 50, 50);
51 ctx.drawImage(bitmap1, 0, 0, 100, 50, 0, -25, 100, 25);
52 ctx.drawImage(bitmap1, 0, 0, 100, 50, 0, 50, 100, 25);
53 _assertPixelApprox(canvas, 0,0, 0,255,0,255, 2);
54 _assertPixelApprox(canvas, 99,0, 0,255,0,255, 2);
55 _assertPixelApprox(canvas, 0,49, 0,255,0,255, 2);
56 _assertPixelApprox(canvas, 99,49, 0,255,0,255, 2);
57 }, t_fail);
58 }).then(t_pass, t_fail);
60 });
61 </script>