<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>Canvas test: 2d.path.arc.selfintersect.2</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/2dcontext/resources/canvas-tests.js"></script>
<link rel="stylesheet" href="/2dcontext/resources/canvas-tests.css">
<body class="show_output">

<h1>2d.path.arc.selfintersect.2</h1>
<p class="desc">arc() with lineWidth > 2*radius is drawn sensibly</p>


<p class="output">Actual output:</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="/images/green-100x50.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
var t = async_test("arc() with lineWidth > 2*radius is drawn sensibly");
_addTest(function(canvas, ctx) {

ctx.fillStyle = '#f00';
ctx.fillRect(0, 0, 100, 50);
ctx.lineWidth = 180;
ctx.strokeStyle = '#0f0';
ctx.beginPath();
ctx.arc(-50, 50, 25, 0, -Math.PI/2, true);
ctx.stroke();
ctx.beginPath();
ctx.arc(100, 0, 25, 0, -Math.PI/2, true);
ctx.stroke();
_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
_assertPixel(canvas, 90,10, 0,255,0,255, "90,10", "0,255,0,255");
_assertPixel(canvas, 97,1, 0,255,0,255, "97,1", "0,255,0,255");
_assertPixel(canvas, 97,2, 0,255,0,255, "97,2", "0,255,0,255");
_assertPixel(canvas, 97,3, 0,255,0,255, "97,3", "0,255,0,255");
_assertPixel(canvas, 2,48, 0,255,0,255, "2,48", "0,255,0,255");


});
</script>

