Organize tests
This commit is contained in:
80
test/browser/spec/ol/featureloader.test.js
Normal file
80
test/browser/spec/ol/featureloader.test.js
Normal file
@@ -0,0 +1,80 @@
|
||||
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
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user