From 1f9d0cb12f01524bf2fd17c0ae1c6933fdbcf728 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Thu, 14 Dec 2017 12:59:25 +0100 Subject: [PATCH] Add test for 16x16 tiles We have a special cache and therefore special code paths that need to be tested when rendering 16x16 tiles. --- tests/test.display.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/test.display.js b/tests/test.display.js index 9e6f0491..60201edf 100644 --- a/tests/test.display.js +++ b/tests/test.display.js @@ -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++) {