<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>

<script>
test(function(t) {
    var canvas = document.createElement('canvas');
    canvas.width = 300;
    canvas.height = 150;
    var ctx = canvas.getContext('2d');

    var r;
    var anticlockwise = true;
    ctx.beginPath();
    for (r = 200; r >= 10; r -= 10) {
        ctx.moveTo(150 + r, 75);
        ctx.arc(150, 75, r, 0, Math.PI*2, anticlockwise);
        ctx.closePath();
        anticlockwise = !anticlockwise;
    }
    ctx.fillStyle = 'rgba(0, 255, 0, 1)';
    ctx.strokeStyle = 'rgba(0, 255, 0, 1)';
    ctx.fill();
    ctx.stroke();

    var imageData = ctx.getImageData(297, 75, 1, 1);
    var data = imageData.data;
    assert_equals(data[0], 0);
    assert_equals(data[1], 0);
    assert_equals(data[2], 0);

    imageData = ctx.getImageData(285, 5, 1, 1);
    data = imageData.data;
    assert_equals(data[0], 0);
    assert_equals(data[1], 255);
    assert_equals(data[2], 0);

    imageData = ctx.getImageData(277, 75, 1, 1);
    data = imageData.data;
    assert_equals(data[0], 0);
    assert_equals(data[1], 0);
    assert_equals(data[2], 0);
}, 'This tests canvas full arc fill with nonzero winding rule. Eight green concentric thick circumferences should be displayed.');
</script>
