Add imageRatio option for VectorImage layers

This commit is contained in:
Frederic Junod
2018-11-13 19:05:21 +01:00
parent 5951e147c0
commit e66a84c897
4 changed files with 69 additions and 2 deletions

View File

@@ -1,6 +1,9 @@
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() {
@@ -18,4 +21,36 @@ describe('ol/renderer/canvas/VectorImageLayer', function() {
});
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);
});
});
});