Chromium Code Reviews| 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-fillRect-gradient-shadow.js"></script> | 4 <script> |
| 5 test(function(t) { | |
| 6 | |
| 7 var canvas = document.createElement('canvas'); | |
|
Justin Novosad
2017/02/06 20:04:23
indent
zakerinasab
2017/02/09 18:02:01
Done.
| |
| 8 document.body.appendChild(canvas); | |
| 9 canvas.setAttribute('width', '400'); | |
| 10 canvas.setAttribute('height', '800'); | |
| 11 var ctx = canvas.getContext('2d'); | |
| 12 | |
| 13 var gradient = ctx.createLinearGradient(0, 0, 100, 100); | |
| 14 gradient.addColorStop(0, 'rgba(0, 0, 255, 1.0)'); | |
| 15 gradient.addColorStop(1, 'rgba(0, 0, 255, 1.0)'); | |
| 16 | |
| 17 ctx.shadowOffsetX = 200; | |
| 18 ctx.fillStyle = gradient; | |
| 19 | |
| 20 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; | |
| 21 ctx.fillRect(50, 50, 100, 100); | |
| 22 | |
| 23 ctx.shadowColor = 'rgba(255, 0, 0, 0.3)'; | |
| 24 ctx.fillRect(50, 200, 100, 100); | |
| 25 | |
| 26 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; | |
| 27 ctx.shadowBlur = 5; | |
| 28 ctx.fillRect(50, 350, 100, 100); | |
| 29 | |
| 30 ctx.shadowColor = 'rgba(255, 0, 0, 0.3)'; | |
| 31 ctx.fillRect(50, 500, 100, 100); | |
| 32 | |
| 33 ctx.rotate(Math.PI/2); | |
| 34 ctx.fillRect(650, -150, 100, 100); | |
| 35 | |
| 36 var d; // imageData.data | |
| 37 var alphaApprox = 5; | |
| 38 | |
| 39 // Verify solid shadow. | |
| 40 d = ctx.getImageData(250, 50, 1, 1).data; | |
| 41 assert_equals(d[0], 255); | |
| 42 assert_equals(d[1], 0); | |
| 43 assert_equals(d[2], 0); | |
| 44 assert_equals(d[3], 255); | |
| 45 | |
| 46 d = ctx.getImageData(250, 149, 1, 1).data; | |
| 47 assert_equals(d[0], 255); | |
| 48 assert_equals(d[1], 0); | |
| 49 assert_equals(d[2], 0); | |
| 50 assert_equals(d[3], 255); | |
| 51 | |
| 52 d = ctx.getImageData(349, 50, 1, 1).data; | |
| 53 assert_equals(d[0], 255); | |
| 54 assert_equals(d[1], 0); | |
| 55 assert_equals(d[2], 0); | |
| 56 assert_equals(d[3], 255); | |
| 57 | |
| 58 d = ctx.getImageData(349, 149, 1, 1).data; | |
| 59 assert_equals(d[0], 255); | |
| 60 assert_equals(d[1], 0); | |
| 61 assert_equals(d[2], 0); | |
| 62 assert_equals(d[3], 255); | |
| 63 | |
| 64 // Verify solid alpha shadow. | |
| 65 d = ctx.getImageData(250, 200, 1, 1).data; | |
| 66 assert_equals(d[0], 255); | |
| 67 assert_equals(d[1], 0); | |
| 68 assert_equals(d[2], 0); | |
| 69 assert_approx_equals(d[3], 76, alphaApprox); | |
| 70 | |
| 71 d = ctx.getImageData(250, 299, 1, 1).data; | |
| 72 assert_equals(d[0], 255); | |
| 73 assert_equals(d[1], 0); | |
| 74 assert_equals(d[2], 0); | |
| 75 assert_approx_equals(d[3], 76, alphaApprox); | |
| 76 | |
| 77 d = ctx.getImageData(349, 200, 1, 1).data; | |
| 78 assert_equals(d[0], 255); | |
| 79 assert_equals(d[1], 0); | |
| 80 assert_equals(d[2], 0); | |
| 81 assert_approx_equals(d[3], 76, alphaApprox); | |
| 82 | |
| 83 d = ctx.getImageData(349, 299, 1, 1).data; | |
| 84 assert_equals(d[0], 255); | |
| 85 assert_equals(d[1], 0); | |
| 86 assert_equals(d[2], 0); | |
| 87 assert_approx_equals(d[3], 76, alphaApprox); | |
| 88 | |
| 89 // Verify blurry shadow. | |
| 90 d = ctx.getImageData(248, 348, 1, 1).data; | |
| 91 assert_equals(d[0], 255); | |
| 92 assert_equals(d[1], 0); | |
| 93 assert_equals(d[2], 0); | |
| 94 assert_true(d[3] < 25); | |
| 95 | |
| 96 d = ctx.getImageData(248, 451, 1, 1).data; | |
| 97 assert_equals(d[0], 255); | |
| 98 assert_equals(d[1], 0); | |
| 99 assert_equals(d[2], 0); | |
| 100 assert_true(d[3] < 25); | |
| 101 | |
| 102 d = ctx.getImageData(351, 348, 1, 1).data; | |
| 103 assert_equals(d[0], 255); | |
| 104 assert_equals(d[1], 0); | |
| 105 assert_equals(d[2], 0); | |
| 106 assert_true(d[3] < 25); | |
| 107 | |
| 108 d = ctx.getImageData(351, 451, 1, 1).data; | |
| 109 assert_equals(d[0], 255); | |
| 110 assert_equals(d[1], 0); | |
| 111 assert_equals(d[2], 0); | |
| 112 assert_true(d[3] < 25); | |
| 113 | |
| 114 // Verify blurry alpha shadow. | |
| 115 d = ctx.getImageData(248, 498, 1, 1).data; | |
| 116 assert_equals(d[0], 255); | |
| 117 assert_equals(d[1], 0); | |
| 118 assert_equals(d[2], 0); | |
| 119 assert_true(d[3] < 10); | |
| 120 | |
| 121 d = ctx.getImageData(248, 601, 1, 1).data; | |
| 122 assert_equals(d[0], 255); | |
| 123 assert_equals(d[1], 0); | |
| 124 assert_equals(d[2], 0); | |
| 125 assert_true(d[3] < 10); | |
| 126 | |
| 127 d = ctx.getImageData(351, 498, 1, 1).data; | |
| 128 assert_equals(d[0], 255); | |
| 129 assert_equals(d[1], 0); | |
| 130 assert_equals(d[2], 0); | |
| 131 assert_true(d[3] < 10); | |
| 132 | |
| 133 d = ctx.getImageData(351, 601, 1, 1).data; | |
| 134 assert_equals(d[0], 255); | |
| 135 assert_equals(d[1], 0); | |
| 136 assert_equals(d[2], 0); | |
| 137 assert_true(d[3] < 10); | |
| 138 | |
| 139 // Verify blurry alpha shadow with rotation. | |
| 140 d = ctx.getImageData(249, 649, 1, 1).data; | |
| 141 assert_equals(d[0], 255); | |
| 142 assert_equals(d[1], 0); | |
| 143 assert_equals(d[2], 0); | |
| 144 assert_true(d[3] < 15); | |
| 145 | |
| 146 d = ctx.getImageData(248, 751, 1, 1).data; | |
| 147 assert_equals(d[0], 255); | |
| 148 assert_equals(d[1], 0); | |
| 149 assert_equals(d[2], 0); | |
| 150 assert_true(d[3] < 15); | |
| 151 | |
| 152 d = ctx.getImageData(350, 649, 1, 1).data; | |
| 153 assert_equals(d[0], 255); | |
| 154 assert_equals(d[1], 0); | |
| 155 assert_equals(d[2], 0); | |
| 156 assert_true(d[3] < 15); | |
| 157 | |
| 158 d = ctx.getImageData(350, 750, 1, 1).data; | |
| 159 assert_equals(d[0], 255); | |
| 160 assert_equals(d[1], 0); | |
| 161 assert_equals(d[2], 0); | |
| 162 assert_true(d[3] < 15); | |
| 163 | |
| 164 }, "Ensure correct behavior of canvas with fillRect using a gradient fillStyle a nd a shadow"); | |
| 165 </script> | |
| 8 </body> | 166 </body> |
| 9 </html> | |
| OLD | NEW |