Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 5x 3x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { expect } from 'chai'; import { Sprite } from './sprite.js'; // fake canvas provider for unit testing const canvasProvider = () => ({ width: 100, height: 100, style: { }, getContext: () => ({ drawImage: () => {}, }), }); describe('loadSpriteData', () => { it('should set the internal canvas size according to different scales', () => { const image = { width: 20, height: 20 }; const spriteData = Sprite.loadSpriteData({ image, rows: 2, columns: 2, padding: 2, canvasProvider, scales: [10, 20], }); expect(spriteData).to.have.all.keys(10, 20); expect(spriteData[10].canvas.width).to.equal(20); expect(spriteData[20].canvas.width).to.equal(40); }); it('should load sprite data into parts', () => { const image = { width: 20, height: 20 }; const spriteData = Sprite.loadSpriteData({ image, rows: 2, columns: 2, padding: 2, canvasProvider, scales: [10], }); expect(spriteData[10].canvas).not.null; expect(spriteData[10].parts.length).to.eql(4); expect(spriteData[10].parts).to.have.deep.members([ { x: 2, y: 2, width: 6, height: 6, }, { x: 12, y: 2, width: 6, height: 6, }, { x: 2, y: 12, width: 6, height: 6, }, { x: 12, y: 12, width: 6, height: 6, }, ]); }); it('should load sprite data with different scales', () => { const image = { width: 20, height: 20 }; const spriteData = Sprite.loadSpriteData({ image, rows: 2, columns: 2, padding: 2, canvasProvider, scales: [10, 20], }); expect(spriteData[10].canvas).not.null; expect(spriteData[10].parts.length).to.eql(4); expect(spriteData[10].parts).to.have.deep.members([ { x: 2, y: 2, width: 6, height: 6, }, { x: 12, y: 2, width: 6, height: 6, }, { x: 2, y: 12, width: 6, height: 6, }, { x: 12, y: 12, width: 6, height: 6, }, ]); expect(spriteData[20].canvas).not.null; expect(spriteData[20].parts.length).to.eql(4); expect(spriteData[20].parts).to.have.deep.members([ { x: 4, y: 4, width: 12, height: 12, }, { x: 24, y: 4, width: 12, height: 12, }, { x: 4, y: 24, width: 12, height: 12, }, { x: 24, y: 24, width: 12, height: 12, }, ]); }); }); |