avocado/packages/topdown/test/tileset.js

36 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-01-02 22:01:57 -06:00
import {Image} from '@avocado/graphics';
import {resource} from '@avocado/resource';
import {Latus} from '@latus/core';
import {expect} from 'chai';
Image.root = 'test/fixtures';
describe('@avocado/topdown', () => {
describe('Tileset', () => {
let latus;
beforeEach(async () => {
latus = Latus.mock([
'@avocado/resource',
['@avocado/topdown', `${__dirname}/../src`],
]);
await Promise.all(latus.invokeFlat('@latus/core/starting'));
const {fromResourceType: {Tileset}} = resource(latus);
Tileset.root = 'test/fixtures';
});
it("has sane defaults", async () => {
const {fromResourceType: {Tileset}} = resource(latus);
const tileset = new Tileset();
expect(tileset.tileSize).to.deep.equal([0, 0]);
expect(tileset.image).to.equal(undefined);
});
it("can load", async () => {
const {fromResourceType: {Tileset}} = resource(latus);
const tileset = await Tileset.load({extends: '/test.tileset.json'});
expect(tileset.tileSize).to.deep.equal([4, 4]);
expect(tileset.image.size).to.deep.equal([16, 16]);
expect(tileset.subimages.length).to.equal(16);
expect(tileset.subimage(0).size).to.deep.equal([4, 4]);
});
});
});