| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> |
| 4 <script> |
| 5 function drawAndTestCanvas(srcCanvas, dstWidth, dstHeight, x, y, dw, dh, shouldB
eGreen) |
| 6 { |
| 7 var dstCanvas = document.createElement('canvas'); |
| 8 dstCanvas.width = dstWidth; |
| 9 dstCanvas.height = dstHeight; |
| 10 var dstCtx = dstCanvas.getContext('2d'); |
| 11 dstCtx.fillStyle = '#00FF00'; |
| 12 dstCtx.fillRect(0, 0, dstWidth, dstHeight); |
| 13 dstCtx.drawImage(srcCanvas, 5, 5, 10, 10, x, y, dw, dh); |
| 14 var isOnePixelNotGreen = false; |
| 15 for (var i = 0; i < dstWidth; i++) { |
| 16 for (var j = 0; j < dstHeight; j++) { |
| 17 var d = dstCtx.getImageData(i, j, 1, 1).data; |
| 18 if (shouldBeGreen && (d[0] != 0 || d[1] != 255 || d[2] != 0 || d[3]
!= 255)) { |
| 19 assert_true(false); |
| 20 return; |
| 21 } |
| 22 if (!shouldBeGreen && (d[0] != 0 || d[1] != 255 || d[2] != 0 || d[3]
!= 255)) { |
| 23 isOnePixelNotGreen = true; |
| 24 break; |
| 25 } |
| 26 } |
| 27 if (isOnePixelNotGreen) |
| 28 break; |
| 29 } |
| 30 if (!shouldBeGreen) |
| 31 assert_true(isOnePixelNotGreen); |
| 32 } |
| 33 |
| 34 test(function() { |
| 35 var srcCanvas = document.createElement('canvas'); |
| 36 srcCanvas.width = 20; |
| 37 srcCanvas.height = 20; |
| 38 var srcCtx = srcCanvas.getContext('2d'); |
| 39 srcCtx.fillStyle = '#FF0000'; |
| 40 srcCtx.fillRect(0, 0, 20, 20); |
| 41 srcCtx.fillStyle = '#00FF00'; |
| 42 srcCtx.fillRect(5, 5, 10, 10); |
| 43 |
| 44 drawAndTestCanvas(srcCanvas, 20, 20, 5, 5, 10, 10, true); // no scaling, no
bleeding |
| 45 drawAndTestCanvas(srcCanvas, 40, 40, 10, 10, 20, 20, false); // scaling, ble
eding |
| 46 }, 'drawImage should sample outside of src rect when scaling'); |
| 47 </script> |
| OLD | NEW |