Files
openlayers/test/spec/ol/renderer/canvas/vectorimage.test.js
2018-11-22 09:38:08 +01:00

57 lines
1.7 KiB
JavaScript

import VectorImageLayer from '../../../../../src/ol/layer/VectorImage.js';
import VectorSource from '../../../../../src/ol/source/Vector.js';
import CanvasVectorImageLayerRenderer from '../../../../../src/ol/renderer/canvas/VectorImageLayer.js';
import {get as getProjection} from '../../../../../src/ol/proj.js';
import {scaleFromCenter} from '../../../../../src/ol/extent.js';
describe('ol/renderer/canvas/VectorImageLayer', function() {
describe('#dispose()', function() {
it('cleans up CanvasVectorRenderer', function() {
const layer = new VectorImageLayer({
source: new VectorSource()
});
const renderer = new CanvasVectorImageLayerRenderer(layer);
const spy = sinon.spy(renderer.vectorRenderer_, 'dispose');
renderer.dispose();
expect(spy.called).to.be(true);
});
});
describe('#prepareFrame', function() {
it('sets correct extent with imageRatio = 2', function() {
const layer = new VectorImageLayer({
imageRatio: 2,
source: new VectorSource()
});
const renderer = new CanvasVectorImageLayerRenderer(layer);
const projection = getProjection('EPSG:3857');
const projExtent = projection.getExtent();
const extent = [
projExtent[0] - 10000, -10000, projExtent[0] + 10000, 10000
];
const frameState = {
extent: extent,
skippedFeatureUids: {},
viewHints: [],
viewState: {
projection: projection,
resolution: 1,
rotation: 0
}
};
renderer.prepareFrame(frameState, {});
const expected = renderer.image_.getExtent();
scaleFromCenter(extent, 2);
expect(expected).to.eql(extent);
});
});
});