36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
|
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]);
|
||
|
});
|
||
|
});
|
||
|
});
|