Introduce screenshot tests

This patch introduces a goldentest.js. The tests inside
the file should rely on "golden" results rather then asserts.

For now, goldentest.js allows only image expectations. If the
actual result doesn't match the expected result, the two files
are created under `test/output` folder:
- The '-actual.png' contains the actual test result
- The '-diff.png' contains the diff between images
This commit is contained in:
Andrey Lushnikov
2017-06-16 14:33:34 -07:00
parent 28a3343d2c
commit 242a6a6e73
6 changed files with 187 additions and 4 deletions

44
test/assets/grid.html Normal file
View File

@@ -0,0 +1,44 @@
<script>
document.addEventListener('DOMContentLoaded', function() {
function generatePalette(amount) {
var result = [];
var hueStep = 360 / amount;
for (var i = 0; i < amount; ++i)
result.push('hsl(' + (hueStep * i) + ', 100%, 90%)');
return result;
}
var palette = generatePalette(100);
for (var i = 0; i < 1000; ++i) {
var box = document.createElement('div');
box.classList.add('box');
box.textContent = i;
box.style.setProperty('background-color', palette[i % palette.length]);
document.body.appendChild(box);
}
});
</script>
<style>
/* Hide scrollbar so that it is not captured on screenshots */
::-webkit-scrollbar {
display: none;
}
body {
margin: 0;
padding: 0;
}
.box {
font-family: arial;
display: inline-block;
margin: 0;
padding: 0;
width: 50px;
height: 50px;
box-sizing: border-box;
border: 1px solid darkgray;
}
</style>