| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-fill-rule.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-fill-rule.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-fill-rule.html
|
| index b25a8837c6962137d0b1fb588227e7a710b9ca34..a460b50fb66a034b4534ab6b78a518ea4de503f2 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-fill-rule.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-fill-rule.html
|
| @@ -1,8 +1,68 @@
|
| -<!doctype html>
|
| -<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-fill-rule.js"></script>
|
| +<script>
|
| +
|
| +var tmpimg = document.createElement('canvas');
|
| +tmpimg.width = 200;
|
| +tmpimg.height = 200;
|
| +ctx = tmpimg.getContext('2d');
|
| +
|
| +// Create the image for blending test with images.
|
| +var img = document.createElement('canvas');
|
| +img.width = 100;
|
| +img.height = 100;
|
| +var imgCtx = img.getContext('2d');
|
| +
|
| +function pixelDataAtPoint()
|
| +{
|
| + return ctx.getImageData(50, 50, 1, 1).data;
|
| +}
|
| +
|
| +function checkResult(expectedColors, sigma) {
|
| + for (var i = 0; i < 4; i++)
|
| + assert_approx_equals(pixelDataAtPoint()[i], expectedColors[i], sigma);
|
| +}
|
| +
|
| +// Execute test.
|
| +function prepareTestScenario() {
|
| + // Testing default fill
|
| + ctx.fillStyle = 'rgb(255,0,0)';
|
| + ctx.beginPath();
|
| + ctx.fillRect(0, 0, 100, 100);
|
| + ctx.fillStyle = 'rgb(0,255,0)';
|
| + ctx.beginPath();
|
| + ctx.rect(0, 0, 100, 100);
|
| + ctx.rect(25, 25, 50, 50);
|
| + ctx.fill();
|
| + checkResult([0, 255, 0, 255], 5);
|
| +
|
| + // Testing nonzero fill
|
| + ctx.fillStyle = 'rgb(255,0,0)';
|
| + ctx.beginPath();
|
| + ctx.fillRect(0, 0, 100, 100);
|
| + ctx.fillStyle = 'rgb(0,255,0)';
|
| + ctx.beginPath();
|
| + ctx.rect(0, 0, 100, 100);
|
| + ctx.rect(25, 25, 50, 50);
|
| + ctx.fill('nonzero');
|
| + checkResult([0, 255, 0, 255], 5);
|
| +
|
| + // Testing evenodd fill
|
| + ctx.fillStyle = 'rgb(255,0,0)';
|
| + ctx.beginPath();
|
| + ctx.fillRect(0, 0, 100, 100);
|
| + ctx.fillStyle = 'rgb(0,255,0)';
|
| + ctx.beginPath();
|
| + ctx.rect(0, 0, 100, 100);
|
| + ctx.rect(25, 25, 50, 50);
|
| + ctx.fill('evenodd');
|
| + checkResult([255, 0, 0, 255], 5);
|
| +}
|
| +
|
| +test(function(t) {
|
| + // Run test and allow variation of results.
|
| + prepareTestScenario();
|
| +}, "Series of tests to ensure correct results of the winding rule.");
|
| +</script>
|
| </body>
|
|
|