Organize tests
This commit is contained in:
81
test/browser/spec/ol/imagetile.test.js
Normal file
81
test/browser/spec/ol/imagetile.test.js
Normal file
@@ -0,0 +1,81 @@
|
||||
import EventType from '../../../../src/ol/events/EventType.js';
|
||||
import ImageTile from '../../../../src/ol/ImageTile.js';
|
||||
import TileState from '../../../../src/ol/TileState.js';
|
||||
import {defaultImageLoadFunction} from '../../../../src/ol/source/Image.js';
|
||||
import {listen, unlistenByKey} from '../../../../src/ol/events.js';
|
||||
|
||||
describe('ol.ImageTile', function () {
|
||||
describe('#load()', function () {
|
||||
it('can load idle tile', function (done) {
|
||||
const tileCoord = [0, 0, 0];
|
||||
const state = TileState.IDLE;
|
||||
const src = 'spec/ol/data/osm-0-0-0.png';
|
||||
const tileLoadFunction = defaultImageLoadFunction;
|
||||
const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction);
|
||||
|
||||
let previousState = tile.getState();
|
||||
|
||||
listen(tile, EventType.CHANGE, function (event) {
|
||||
const state = tile.getState();
|
||||
if (previousState == TileState.IDLE) {
|
||||
expect(state).to.be(TileState.LOADING);
|
||||
} else if (previousState == TileState.LOADING) {
|
||||
expect(state).to.be(TileState.LOADED);
|
||||
done();
|
||||
} else {
|
||||
expect().fail();
|
||||
}
|
||||
previousState = state;
|
||||
});
|
||||
|
||||
tile.load();
|
||||
});
|
||||
|
||||
it('can load error tile', function (done) {
|
||||
const tileCoord = [0, 0, 0];
|
||||
const state = TileState.ERROR;
|
||||
const src = 'spec/ol/data/osm-0-0-0.png';
|
||||
const tileLoadFunction = defaultImageLoadFunction;
|
||||
const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction);
|
||||
|
||||
let previousState = tile.getState();
|
||||
|
||||
listen(tile, EventType.CHANGE, function (event) {
|
||||
const state = tile.getState();
|
||||
if (previousState == TileState.ERROR) {
|
||||
expect(state).to.be(TileState.LOADING);
|
||||
} else if (previousState == TileState.LOADING) {
|
||||
expect(state).to.be(TileState.LOADED);
|
||||
done();
|
||||
} else {
|
||||
expect().fail();
|
||||
}
|
||||
previousState = state;
|
||||
});
|
||||
|
||||
tile.load();
|
||||
});
|
||||
|
||||
it('loads an empty image on error ', function (done) {
|
||||
const tileCoord = [0, 0, 0];
|
||||
const state = TileState.IDLE;
|
||||
const src = 'spec/ol/data/osm-0-0-99.png';
|
||||
const tileLoadFunction = defaultImageLoadFunction;
|
||||
const tile = new ImageTile(tileCoord, state, src, null, tileLoadFunction);
|
||||
|
||||
const key = listen(tile, EventType.CHANGE, function (event) {
|
||||
const state = tile.getState();
|
||||
if (state == TileState.ERROR) {
|
||||
expect(state).to.be(TileState.ERROR);
|
||||
expect(tile.image_).to.be.a(HTMLCanvasElement);
|
||||
unlistenByKey(key);
|
||||
tile.load();
|
||||
expect(tile.image_).to.be.a(HTMLImageElement);
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
tile.load();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user