81 lines
2.2 KiB
JavaScript
81 lines
2.2 KiB
JavaScript
import GeoJSON from '../../../../src/ol/format/GeoJSON.js';
|
|
import VectorSource from '../../../../src/ol/source/Vector.js';
|
|
import {xhr} from '../../../../src/ol/featureloader.js';
|
|
|
|
describe('ol.featureloader', function () {
|
|
describe('ol.featureloader.xhr', function () {
|
|
let loader;
|
|
let source;
|
|
let url;
|
|
let format;
|
|
|
|
beforeEach(function () {
|
|
url = 'spec/ol/data/point.json';
|
|
format = new GeoJSON();
|
|
|
|
source = new VectorSource();
|
|
});
|
|
|
|
it('adds features to the source', function (done) {
|
|
loader = xhr(url, format);
|
|
source.on('addfeature', function (e) {
|
|
setTimeout(function () {
|
|
expect(source.getFeatures().length).to.be.greaterThan(0);
|
|
done();
|
|
}, 0);
|
|
});
|
|
loader.call(source, [], 1, 'EPSG:3857');
|
|
});
|
|
|
|
describe('when called with urlFunction', function () {
|
|
it('adds features to the source', function (done) {
|
|
url = function (extent, resolution, projection) {
|
|
return 'spec/ol/data/point.json';
|
|
};
|
|
loader = xhr(url, format);
|
|
|
|
source.on('addfeature', function (e) {
|
|
setTimeout(function () {
|
|
expect(source.getFeatures().length).to.be.greaterThan(0);
|
|
done();
|
|
}, 0);
|
|
});
|
|
loader.call(source, [], 1, 'EPSG:3857');
|
|
});
|
|
|
|
it('sends the correct arguments to the urlFunction', function (done) {
|
|
const extent = [];
|
|
const resolution = 1;
|
|
const projection = 'EPSG:3857';
|
|
url = function (extent_, resolution_, projection_) {
|
|
expect(extent_).to.eql(extent);
|
|
expect(resolution_).to.eql(resolution);
|
|
expect(projection_).to.eql(projection);
|
|
done();
|
|
return 'spec/ol/data/point.json';
|
|
};
|
|
loader = xhr(url, format);
|
|
loader.call(source, [], 1, 'EPSG:3857');
|
|
});
|
|
});
|
|
|
|
it('it calls the success callback', function (done) {
|
|
const errorSpy = sinon.spy();
|
|
loader = xhr(url, format);
|
|
loader.call(
|
|
source,
|
|
[],
|
|
1,
|
|
'EPSG:3857',
|
|
function () {
|
|
setTimeout(function () {
|
|
expect(errorSpy.callCount).to.be(0);
|
|
done();
|
|
}, 0);
|
|
},
|
|
errorSpy
|
|
);
|
|
});
|
|
});
|
|
});
|