<!DOCTYPE html>
<style>
canvas {
width: 10px;
height: 10px;
image-rendering: pixelated;
}
</style>
<body>
<!-- Draw the expected 20x20 checkerboards using canvases. -->
<canvas width="20" height="20"></canvas>
<canvas width="20" height="20"></canvas>
<canvas width="20" height="20"></canvas>
</body>
<script>
function drawImageToCanvas() {
[0, 1, 2].forEach(function (canvasIndex) {
var context = document.getElementsByTagName("canvas")[canvasIndex].getContext("2d");
context.width = 20;
context.height = 20;
var imageHandle = context.createImageData(20, 20);
var index = 0;
function white() {
imageHandle.data[index++] = 255;
imageHandle.data[index++] = 255;
imageHandle.data[index++] = 255;
imageHandle.data[index++] = 255;
}
function black() {
imageHandle.data[index++] = 0;
imageHandle.data[index++] = 0;
imageHandle.data[index++] = 0;
imageHandle.data[index++] = 255;
}
// Each black or white block should be 2x2.
for (var j = 0; j < 5; j++) {
for (var k = 0; k < 10; k++) {
white();
white();
black();
black();
}
for (var k = 0; k < 10; k++) {
black();
black();
white();
white();
}
}
context.putImageData(imageHandle, 0, 0);
});
}
function runTest() {
if (!window.testRunner)
return;
testRunner.waitUntilDone();
testRunner.setBackingScaleFactor(2, function () {
drawImageToCanvas();
testRunner.notifyDone();
});
}
window.onload = runTest;
</script>