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

<h1>2d.filter.canvasFilterObject.componentTransfer.identity</h1>
<p class="desc">Test pixels on CanvasFilter() componentTransfer with identity type</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("Test pixels on CanvasFilter() componentTransfer with identity type");
_addTest(function(canvas, ctx) {

ctx.filter = new CanvasFilter({filter: "componentTransfer",
    funcR: {type: "identity"},
    funcG: {type: "identity"},
    funcB: {type: "identity"},
});

const inputColors = [
    [255, 255, 255],
    [0, 0, 0],
    [127, 0, 34],
    [252, 186, 3],
    [50, 68, 87],
];

for (const color of inputColors) {
    ctx.fillStyle = `rgba(${color[0]}, ${color[1]}, ${color[2]}, 1)`,
    ctx.fillRect(0, 0, 10, 10);
    _assertPixel(canvas, 5, 5, color[0],color[1],color[2],255, "5,5", `${color[0]},${color[1]},${color[2]}`);
}


});
</script>

