Add test for 16x16 tiles

We have a special cache and therefore special code paths that need
to be tested when rendering 16x16 tiles.
This commit is contained in:
Pierre Ossman 2017-12-14 12:59:25 +01:00
parent 0880353ba9
commit 1f9d0cb12f
1 changed files with 25 additions and 0 deletions

View File

@ -345,6 +345,31 @@ describe('Display/Canvas Helper', function () {
expect(display).to.have.displayed(checked_data);
});
// We have a special cache for 16x16 tiles that we need to test
it('should support drawing a 16x16 tile', function () {
let large_checked_data = new Uint8Array(16*16*4);
display.resize(16, 16);
for (let y = 0;y < 16;y++) {
for (let x = 0;x < 16;x++) {
let pixel;
if ((x < 4) && (y < 4)) {
pixel = checked_data.slice((y*4+x)*4, (y*4+x+1)*4);
} else {
pixel = [0, 0xff, 0, 255];
}
large_checked_data.set(pixel, (y*16+x)*4);
}
}
display.startTile(0, 0, 16, 16, [0, 0xff, 0]);
display.subTile(0, 0, 2, 2, [0xff, 0, 0]);
display.subTile(2, 2, 2, 2, [0xff, 0, 0]);
display.finishTile();
display.flip();
expect(display).to.have.displayed(large_checked_data);
});
it('should support drawing BGRX blit images with true color via #blitImage', function () {
var data = [];
for (var i = 0; i < 16; i++) {