2d.imageData.put.dirty.outside.html (1569B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <title>OffscreenCanvas test: 2d.imageData.put.dirty.outside</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/html/canvas/resources/canvas-tests.js"></script> 8 9 <h1>2d.imageData.put.dirty.outside</h1> 10 <p class="desc">putImageData() handles dirty rectangles outside the canvas correctly</p> 11 12 13 <script> 14 var t = async_test("putImageData() handles dirty rectangles outside the canvas correctly"); 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() { 20 21 var canvas = new OffscreenCanvas(100, 50); 22 var ctx = canvas.getContext('2d'); 23 24 ctx.fillStyle = '#f00'; 25 ctx.fillRect(0, 0, 100, 50) 26 27 var imgdata = ctx.getImageData(0, 0, 100, 50); 28 29 ctx.fillStyle = '#0f0'; 30 ctx.fillRect(0, 0, 100, 50) 31 32 ctx.putImageData(imgdata, 100, 20, 20, 20, -20, -20); 33 ctx.putImageData(imgdata, 200, 200, 0, 0, 100, 50); 34 ctx.putImageData(imgdata, 40, 20, -30, -20, 30, 20); 35 ctx.putImageData(imgdata, -30, 20, 0, 0, 30, 20); 36 37 _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2); 38 _assertPixelApprox(canvas, 98,15, 0,255,0,255, 2); 39 _assertPixelApprox(canvas, 98,25, 0,255,0,255, 2); 40 _assertPixelApprox(canvas, 98,45, 0,255,0,255, 2); 41 _assertPixelApprox(canvas, 1,5, 0,255,0,255, 2); 42 _assertPixelApprox(canvas, 1,25, 0,255,0,255, 2); 43 _assertPixelApprox(canvas, 1,45, 0,255,0,255, 2); 44 t.done(); 45 46 }); 47 </script>