UNPKG

@spearwolf/twopoint5d

Version:

a library to create 2.5d realtime graphics and pixelart with three.js

50 lines 1.93 kB
import { Vector2, Vector3 } from 'three'; import { describe, expect, test } from 'vitest'; import { Map2DLayer } from './Map2DLayer.js'; import { Map2DTile } from './Map2DTile.js'; describe('Map2DLayer', () => { describe('new', () => { test('tileWidth, tileHeight', () => { const layer = new Map2DLayer(8, 16); expect(layer.tileWidth).toEqual(8); expect(layer.tileHeight).toEqual(16); layer.tileWidth = 77; layer.tileHeight = 99; expect(layer.tileWidth).toEqual(77); expect(layer.tileHeight).toEqual(99); }); test('xOffset, yOffset', () => { let layer = new Map2DLayer(1, 1); expect(layer.xOffset).toEqual(0); expect(layer.yOffset).toEqual(0); layer = new Map2DLayer(1, 1, 10, 20); expect(layer.xOffset).toEqual(10); expect(layer.yOffset).toEqual(20); layer.xOffset = 77; layer.yOffset = 99; expect(layer.xOffset).toEqual(77); expect(layer.yOffset).toEqual(99); }); test('tiles', () => { const layer = new Map2DLayer(1, 1); expect(Array.isArray(layer.tiles)).toBeTruthy(); expect(layer.tiles).toHaveLength(0); }); test('tilesRenderer', () => { const layer = new Map2DLayer(1, 1); expect(layer.renderers.size).toBe(0); const renderer = { beginUpdate(_offset, _translate) { }, addTile(_tile) { }, reuseTile(_tile) { }, removeTile(_tile) { }, resetTiles() { }, endUpdate() { }, dispose() { }, }; layer.addTileRenderer(renderer); expect(layer.renderers.has(renderer)).toBeTruthy(); }); }); }); //# sourceMappingURL=Map2DLayer.spec.js.map