chromium/third_party/blink/web_tests/fast/canvas/resources/shadow-offset.js

test = function(setter) {
    document.body.appendChild(document.createElement("p")).appendChild(document.createTextNode("There should be no red pixels below."));
    var canvas = document.body.appendChild(document.createElement("canvas"));
    canvas.width = "400";
    canvas.height = "400";
    canvas.style.backgroundColor = "white";
    var ctx = canvas.getContext('2d');
    var w = 10;
    var h = 10;

    var y = 10;
    for (var offsetY = -10; offsetY <= 10; offsetY++) {
        var x = 10;
        for (var offsetX = -10; offsetX <= 10; offsetX++) {
            ctx.shadowOffsetX = 0;
            ctx.shadowOffsetY = 0
            ctx.shadowBlur = 0;
            ctx.shadowColor = "transparent";
        
            ctx.fillStyle = 'red';
            ctx.fillRect(x + offsetX, y + offsetY, w, h);
    
            setter(ctx, offsetX, offsetY);
        
            ctx.fillStyle = 'white';
            ctx.fillRect(x, y, w, h);

            x += w + Math.abs(offsetX) + 2;
        }
        y += h + Math.abs(offsetY) + 2;
    }
}