<!DOCTYPE html>
<html>
  <body>
	<a id="result"></a>
	   <script>
	    if (window.testRunner)
	      testRunner.dumpAsText();

		canvas = document.createElement("canvas");
		document.body.appendChild(canvas);
		canvas.width = 100;
		canvas.height = 100;
		ctx = canvas.getContext("2d");
		ctx.moveTo(25,25);
		ctx.arc(25, 25, 25, Math.PI, 500*Math.PI, false);
		ctx.closePath();
		
		ctx.moveTo(75, 75);
		ctx.arc(75, 75, 25, 500*Math.PI, Math.PI, true);
		ctx.fillStyle = '#0f0';
		ctx.fill();
		
		var result = document.getElementById("result");
		var passed = true;

		checkPixel(25, 25, 0, 255, 0, 255);
		checkPixel(75, 75, 0, 255, 0, 255);
		if (passed) result.innerHTML = "PASSED";
		
		function checkPixel(x, y, r, g, b, a) {
			var data = ctx.getImageData(x,y,1,1).data;
			var red = data[0];
			var green = data[1];
			var blue = data[2];
			var alpha = data[3];

			if (red != r) {
				result.innerHTML += "Red should be "+r+", but was "+red+". ";
				passed = false;
			}
			if (green != g) {
				result.innerHTML += "green should be "+g+", but was "+green+". ";
				passed = false;
			}
			if (blue != b) {
				result.innerHTML += "blue should be "+b+", but was "+blue+". ";
				passed = false;
			}
			if (alpha != a) {
				result.innerHTML += "alpha should be "+a+", but was "+alpha+". ";
				passed = false;
			}
		}

    </script>
  </body>
</html>

