| OLD | NEW |
| 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <script src="../../resources/testharness.js"></script> |
| 2 <html> | 2 <script src="../../resources/testharnessreport.js"></script> |
| 3 <head> | |
| 4 <script src="../../resources/js-test.js"></script> | |
| 5 </head> | |
| 6 <body> | 3 <body> |
| 7 <script src="script-tests/canvas-draw-canvas-on-canvas-shadow.js"></script> | 4 <script> |
| 5 test(function(t) { |
| 6 var canvas = document.createElement('canvas'); |
| 7 document.body.appendChild(canvas); |
| 8 canvas.setAttribute('width', '600'); |
| 9 canvas.setAttribute('height', '600'); |
| 10 var ctx = canvas.getContext('2d'); |
| 11 ctx.shadowOffsetX = 100; |
| 12 ctx.shadowOffsetY = 100; |
| 13 |
| 14 var aCanvas = document.createElement('canvas'); |
| 15 aCanvas.width = 300; |
| 16 aCanvas.height = 300; |
| 17 |
| 18 var aCtx = aCanvas.getContext('2d'); |
| 19 aCtx.fillStyle = 'rgba(0, 0, 255, 1.0)'; |
| 20 aCtx.fillRect(100, 100, 100, 100); |
| 21 |
| 22 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; |
| 23 ctx.drawImage(aCanvas, 0, 0); |
| 24 |
| 25 ctx.shadowColor = 'rgba(255, 0, 0, 0.5)'; |
| 26 ctx.drawImage(aCanvas, 0, 200); |
| 27 |
| 28 ctx.shadowBlur = 5; |
| 29 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; |
| 30 ctx.drawImage(aCanvas, 200, 0); |
| 31 |
| 32 ctx.shadowColor = 'rgba(255, 0, 0, 0.5)'; |
| 33 ctx.drawImage(aCanvas, 200, 200); |
| 34 |
| 35 var d; // imageData.data |
| 36 |
| 37 // Verify solid shadow. |
| 38 d = ctx.getImageData(200, 205, 1, 1).data; |
| 39 assert_equals(d[0], 255); |
| 40 assert_equals(d[1], 0); |
| 41 assert_equals(d[2], 0); |
| 42 assert_equals(d[3], 255); |
| 43 |
| 44 d = ctx.getImageData(299, 295, 1, 1).data; |
| 45 assert_equals(d[0], 255); |
| 46 assert_equals(d[1], 0); |
| 47 assert_equals(d[2], 0); |
| 48 assert_equals(d[3], 255); |
| 49 |
| 50 d = ctx.getImageData(200, 299, 1, 1).data; |
| 51 assert_equals(d[0], 255); |
| 52 assert_equals(d[1], 0); |
| 53 assert_equals(d[2], 0); |
| 54 assert_equals(d[3], 255); |
| 55 |
| 56 // Verify solid alpha shadow. |
| 57 d = ctx.getImageData(200, 405, 1, 1).data; |
| 58 assert_equals(d[0], 255); |
| 59 assert_equals(d[1], 0); |
| 60 assert_equals(d[2], 0); |
| 61 assert_approx_equals(d[3], 127, 15); |
| 62 |
| 63 d = ctx.getImageData(299, 405, 1, 1).data; |
| 64 assert_equals(d[0], 255); |
| 65 assert_equals(d[1], 0); |
| 66 assert_equals(d[2], 0); |
| 67 assert_approx_equals(d[3], 127, 15); |
| 68 |
| 69 d = ctx.getImageData(205, 499, 1, 1).data; |
| 70 assert_equals(d[0], 255); |
| 71 assert_equals(d[1], 0); |
| 72 assert_equals(d[2], 0); |
| 73 assert_approx_equals(d[3], 127, 15); |
| 74 |
| 75 // Verify blurry shadow. |
| 76 d = ctx.getImageData(500, 211, 1, 1).data; |
| 77 assert_equals(d[0], 255); |
| 78 assert_equals(d[1], 0); |
| 79 assert_equals(d[2], 0); |
| 80 assert_approx_equals(d[3], 100, 15); |
| 81 |
| 82 d = ctx.getImageData(399, 205, 1, 1).data; |
| 83 assert_equals(d[0], 255); |
| 84 assert_equals(d[1], 0); |
| 85 assert_equals(d[2], 0); |
| 86 assert_approx_equals(d[3], 100, 15); |
| 87 |
| 88 d = ctx.getImageData(450, 300, 1, 1).data; |
| 89 assert_equals(d[0], 255); |
| 90 assert_equals(d[1], 0); |
| 91 assert_equals(d[2], 0); |
| 92 assert_approx_equals(d[3], 100, 15); |
| 93 |
| 94 // Verify blurry alpha shadow. |
| 95 d = ctx.getImageData(500, 411, 1, 1).data; |
| 96 assert_equals(d[0], 255); |
| 97 assert_equals(d[1], 0); |
| 98 assert_equals(d[2], 0); |
| 99 assert_approx_equals(d[3], 50, 15); |
| 100 |
| 101 d = ctx.getImageData(399, 405, 1, 1).data; |
| 102 assert_equals(d[0], 255); |
| 103 assert_equals(d[1], 0); |
| 104 assert_equals(d[2], 0); |
| 105 assert_approx_equals(d[3], 50, 15); |
| 106 |
| 107 d = ctx.getImageData(450, 500, 1, 1).data; |
| 108 assert_equals(d[0], 255); |
| 109 assert_equals(d[1], 0); |
| 110 assert_equals(d[2], 0); |
| 111 assert_approx_equals(d[3], 50, 15); |
| 112 }, "Ensure correct behavior when drawing a canvas on a canvas with shadows. A bl
ue and red checkered pattern should be displayed."); |
| 113 </script> |
| 8 </body> | 114 </body> |
| 9 </html> | |
| OLD | NEW |