<!DOCTYPE html>
<title>Canvas test: 2d.gradient.radial.cone.shape1</title>
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<body>
<p id="passtext">Pass</p>
<p id="failtext">Fail</p>
<p class="output">These images should be identical:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="green-100x50.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
_addTest(function(canvas, ctx) {

var tol = 1; // tolerance to avoid antialiasing artifacts

ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);

ctx.fillStyle = '#f00';
ctx.beginPath();
ctx.moveTo(30+tol, 40);
ctx.lineTo(110, -20+tol);
ctx.lineTo(110, 100-tol);
ctx.fill();

var g = ctx.createRadialGradient(30+10*5/2, 40, 10*3/2, 30+10*15/4, 40, 10*9/4);
g.addColorStop(0, '#0f0');
g.addColorStop(1, '#0f0');
ctx.fillStyle = g;
ctx.fillRect(0, 0, 100, 50);

_assertPixelWithGradientNoise(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 50,1, 0,255,0,255, "50,1", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 1,25, 0,255,0,255, "1,25", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 98,25, 0,255,0,255, "98,25", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 50,48, 0,255,0,255, "50,48", "0,255,0,255");
_assertPixelWithGradientNoise(canvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255");


});
</script>

