<!doctype HTML> 
<html>
    <head>
        <title>HTML5 Canvas Test:  bezierCurveTo() must ensure subpaths</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com" />
        <link rel="help" href="http://www.w3.org/TR/2dcontext/#dom-context-2d-beziercurveto" />
        <meta name="assert" content="bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) must ensure there is a subpath for the point (cp1x,cp1y) if the context has no subpaths, then it must connect the last point in the subpath to the point (x,y)." />
        <script type="text/javascript">
            function runTest() 
            {
                var canvas = document.getElementById("canvas1");
                var ctx = canvas.getContext("2d");

                // Since the canvas has no subpaths, a virtual moveTo must be performed to (65,25) before creating the bezier.
                ctx.bezierCurveTo(65, 25, 65, 25, 65, 65);
                ctx.stroke();
                ctx.beginPath();

                // Since the canvas has no subpaths, a virtual moveTo must be performed to (35,25) before creating the bezier.
                ctx.bezierCurveTo(35, 25, 35, 25, 35, 65);
                ctx.stroke();
                ctx.beginPath();

                // Since the canvas has no subpaths, a virtual moveTo must be performed to (0,75) before creating the bezier.
                ctx.bezierCurveTo(0, 75, 50, 150, 100, 75);
                ctx.stroke();
            }
        </script>
    </head>
    <body onload="runTest()">
        <p>Description: bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) must ensure there is a subpath for the point (cp1x,cp1y) if the context has no subpaths, then it must connect the last point in the subpath to the point (x,y).</p>
        <p>Test passes if two vertical lines and one curved line are seen below in the shape of a smiley face.</p>
        <canvas id="canvas1" width="300" height="150">Browser does not support HTML5 Canvas.</canvas>
    </body>
</html>