UNPKG

@spearwolf/twopoint5d

Version:

Create 2.5D realtime graphics and pixelart with WebGL and three.js

50 lines 1.99 kB
import { Object3D } from 'three/webgpu'; import { describe, expect, test } from 'vitest'; import { Map2DTileStreamer } from './Map2DTileStreamer.js'; describe('Map2DTileStreamer', () => { describe('new', () => { test('tileWidth, tileHeight', () => { const layer = new Map2DTileStreamer(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 Map2DTileStreamer(1, 1); expect(layer.xOffset).toEqual(0); expect(layer.yOffset).toEqual(0); layer = new Map2DTileStreamer(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 Map2DTileStreamer(1, 1); expect(Array.isArray(layer.tiles)).toBeTruthy(); expect(layer.tiles).toHaveLength(0); }); test('tilesRenderer', () => { const layer = new Map2DTileStreamer(1, 1); expect(layer.renderers.size).toBe(0); const renderer = { node: new Object3D(), beginUpdatingTiles(_pos) { }, addTile(_coords) { }, reuseTile(_coords) { }, removeTile(_coords) { }, clearTiles() { }, endUpdatingTiles() { }, dispose() { }, }; layer.addTileRenderer(renderer); expect(layer.renderers.has(renderer)).toBeTruthy(); }); }); }); //# sourceMappingURL=Map2DTileStreamer.spec.js.map