48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
import GeoTIFFSource from '../../../../../src/ol/source/GeoTIFF.js';
|
|
import State from '../../../../../src/ol/source/State.js';
|
|
import TileState from '../../../../../src/ol/TileState.js';
|
|
|
|
describe('ol.source.GeoTIFF', function () {
|
|
/** @type {GeoTIFFSource} */
|
|
let source;
|
|
beforeEach(function () {
|
|
source = new GeoTIFFSource({
|
|
sources: [
|
|
{
|
|
url: 'spec/ol/source/images/0-0-0.tif',
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
it('manages load states', function (done) {
|
|
expect(source.getState()).to.be(State.LOADING);
|
|
source.on('change', () => {
|
|
expect(source.getState()).to.be(State.READY);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('configures itself from source metadata', function (done) {
|
|
source.on('change', () => {
|
|
expect(source.addAlpha_).to.be(true);
|
|
expect(source.bandCount).to.be(4);
|
|
expect(source.nodataValues_).to.eql([[0]]);
|
|
expect(source.getTileGrid().getResolutions().length).to.be(1);
|
|
expect(source.projection.getCode()).to.be('EPSG:4326');
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('loads tiles', function (done) {
|
|
source.on('change', () => {
|
|
const tile = source.getTile(0, 0, 0);
|
|
source.on('tileloadend', () => {
|
|
expect(tile.getState()).to.be(TileState.LOADED);
|
|
done();
|
|
});
|
|
tile.load();
|
|
});
|
|
});
|
|
});
|