<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body>
<script>
test(function(t) {
    var ctx = document.createElement('canvas').getContext('2d');
    
    ctx.fillStyle = '#0f0';
    ctx.fillRect(0, 0, 1, 1);
    
    var g = ctx.createLinearGradient(0, 0, 0, 0); // zero-length line (undefined direction);
    g.addColorStop(0, '#f00');
    g.addColorStop(1, '#f00');
    ctx.strokeStyle = g;
    ctx.rect(0, 0, 1 , 1);
    ctx.stroke();
    
    assert_array_equals(ctx.getImageData(0, 0, 1, 1).data.slice(0,3), [0, 255, 0]);
}, "Series of tests to ensure that stroke() paints nothing on canvas when the strokeStyle is set to a zero-size gradient.");
</script>
</body>
