Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html |
| index d0a717801a8cb6a8d4d2f3bc40cb6ba6e69ca779..ff7fa6f944da52ff6cdbcb974b62dffe8df28e9e 100644 |
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html |
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html |
| @@ -1,9 +1,166 @@ |
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| -<html> |
| -<head> |
| -<script src="../../resources/js-test.js"></script> |
| -</head> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| <body> |
| -<script src="script-tests/canvas-fillRect-gradient-shadow.js"></script> |
| +<script> |
| +test(function(t) { |
| + |
| +var canvas = document.createElement('canvas'); |
|
Justin Novosad
2017/02/06 20:04:23
indent
zakerinasab
2017/02/09 18:02:01
Done.
|
| +document.body.appendChild(canvas); |
| +canvas.setAttribute('width', '400'); |
| +canvas.setAttribute('height', '800'); |
| +var ctx = canvas.getContext('2d'); |
| + |
| +var gradient = ctx.createLinearGradient(0, 0, 100, 100); |
| +gradient.addColorStop(0, 'rgba(0, 0, 255, 1.0)'); |
| +gradient.addColorStop(1, 'rgba(0, 0, 255, 1.0)'); |
| + |
| +ctx.shadowOffsetX = 200; |
| +ctx.fillStyle = gradient; |
| + |
| +ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; |
| +ctx.fillRect(50, 50, 100, 100); |
| + |
| +ctx.shadowColor = 'rgba(255, 0, 0, 0.3)'; |
| +ctx.fillRect(50, 200, 100, 100); |
| + |
| +ctx.shadowColor = 'rgba(255, 0, 0, 1.0)'; |
| +ctx.shadowBlur = 5; |
| +ctx.fillRect(50, 350, 100, 100); |
| + |
| +ctx.shadowColor = 'rgba(255, 0, 0, 0.3)'; |
| +ctx.fillRect(50, 500, 100, 100); |
| + |
| +ctx.rotate(Math.PI/2); |
| +ctx.fillRect(650, -150, 100, 100); |
| + |
| +var d; // imageData.data |
| +var alphaApprox = 5; |
| + |
| +// Verify solid shadow. |
| +d = ctx.getImageData(250, 50, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_equals(d[3], 255); |
| + |
| +d = ctx.getImageData(250, 149, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_equals(d[3], 255); |
| + |
| +d = ctx.getImageData(349, 50, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_equals(d[3], 255); |
| + |
| +d = ctx.getImageData(349, 149, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_equals(d[3], 255); |
| + |
| +// Verify solid alpha shadow. |
| +d = ctx.getImageData(250, 200, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_approx_equals(d[3], 76, alphaApprox); |
| + |
| +d = ctx.getImageData(250, 299, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_approx_equals(d[3], 76, alphaApprox); |
| + |
| +d = ctx.getImageData(349, 200, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_approx_equals(d[3], 76, alphaApprox); |
| + |
| +d = ctx.getImageData(349, 299, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_approx_equals(d[3], 76, alphaApprox); |
| + |
| +// Verify blurry shadow. |
| +d = ctx.getImageData(248, 348, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 25); |
| + |
| +d = ctx.getImageData(248, 451, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 25); |
| + |
| +d = ctx.getImageData(351, 348, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 25); |
| + |
| +d = ctx.getImageData(351, 451, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 25); |
| + |
| +// Verify blurry alpha shadow. |
| +d = ctx.getImageData(248, 498, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 10); |
| + |
| +d = ctx.getImageData(248, 601, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 10); |
| + |
| +d = ctx.getImageData(351, 498, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 10); |
| + |
| +d = ctx.getImageData(351, 601, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 10); |
| + |
| +// Verify blurry alpha shadow with rotation. |
| +d = ctx.getImageData(249, 649, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 15); |
| + |
| +d = ctx.getImageData(248, 751, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 15); |
| + |
| +d = ctx.getImageData(350, 649, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 15); |
| + |
| +d = ctx.getImageData(350, 750, 1, 1).data; |
| +assert_equals(d[0], 255); |
| +assert_equals(d[1], 0); |
| +assert_equals(d[2], 0); |
| +assert_true(d[3] < 15); |
| + |
| +}, "Ensure correct behavior of canvas with fillRect using a gradient fillStyle and a shadow"); |
| +</script> |
| </body> |
| -</html> |