<!doctype HTML> 
<html>
    <head>
        <title>HTML5 Canvas Test:  createlinearGradient() with two points same</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com" />
        <link rel="help" href="http://www.w3.org/TR/2dcontext/#dom-context-2d-createlineargradient" />
        <meta name="assert" content="If the two points in a linear gradient have identical x,y coordinates, the canvas must paint nothing." />
        <script type="text/javascript">
            function runTest() 
            {
                var canvas = document.getElementById("canvas1");
                var ctx = canvas.getContext("2d");

                // Start by drawing a left to right, green-to-blue linear gradient.
                var lingrad = ctx.createLinearGradient(0, 50, 100, 50);
                lingrad.addColorStop(0, "rgba(0, 255, 0, 1.0)");
                lingrad.addColorStop(1, "rgba(0, 0, 255, 1.0)");
                ctx.fillStyle = lingrad;
                ctx.fillRect(0, 0, 100, 50);

                // Nothing must be drawn if the two points in the linear gradient are the same.
                lingrad = ctx.createLinearGradient(100, 100, 100, 100);
                lingrad.addColorStop(0, "rgba(255, 0, 0, 1.0)");
                lingrad.addColorStop(1, "rgba(255, 0, 0, 1.0)");
                ctx.fillStyle = lingrad;
                ctx.fillRect(0, 0, 300, 150);
            }
        </script>
    </head>
    <body onload="runTest()">
        <p>Description: If the two points in a linear gradient have identical x,y coordinates, the canvas must paint nothing.</p>
        <p>Test passes if there is one left-to-right, green-to-blue linear gradient seen on the page and no red is seen on the page.</p>
        <canvas id="canvas1" width="300" height="150">Browser does not support HTML5 Canvas.</canvas>
    </body>
</html>