Make the immediate API work with a user projection

This commit is contained in:
Tim Schaub
2019-09-27 15:34:35 +02:00
parent 8aa4a59fcf
commit d3b47c794e
10 changed files with 163 additions and 54 deletions

View File

@@ -1,5 +1,5 @@
import Point from '../../../../src/ol/geom/Point.js';
import {get as getProjection} from '../../../../src/ol/proj.js';
import {get as getProjection, getTransformFromProjections} from '../../../../src/ol/proj.js';
describe('ol.geom.Point', function() {
@@ -161,9 +161,10 @@ describe('ol.geom.Point', function() {
const geom = new Point([1, 2]);
const source = getProjection('EPSG:4326');
const dest = getProjection('EPSG:3857');
const transform = getTransformFromProjections(source, dest);
const squaredTolerance = 0.5;
const first = geom.simplifyTransformed(squaredTolerance, source, dest);
const second = geom.simplifyTransformed(squaredTolerance, source, dest);
const first = geom.simplifyTransformed(squaredTolerance, transform);
const second = geom.simplifyTransformed(squaredTolerance, transform);
expect(second).to.be(first);
});
@@ -171,9 +172,10 @@ describe('ol.geom.Point', function() {
const geom = new Point([1, 2]);
const source = getProjection('EPSG:4326');
const dest = getProjection('EPSG:3857');
const transform = getTransformFromProjections(source, dest);
const squaredTolerance = 0.5;
const first = geom.simplifyTransformed(squaredTolerance, source, dest);
const second = geom.simplifyTransformed(squaredTolerance * 2, source, dest);
const first = geom.simplifyTransformed(squaredTolerance, transform);
const second = geom.simplifyTransformed(squaredTolerance * 2, transform);
expect(second).not.to.be(first);
});
@@ -181,11 +183,12 @@ describe('ol.geom.Point', function() {
const geom = new Point([1, 2]);
const source = getProjection('EPSG:4326');
const dest = getProjection('EPSG:3857');
const transform = getTransformFromProjections(source, dest);
const squaredTolerance = 0.5;
const first = geom.simplifyTransformed(squaredTolerance, source, dest);
const first = geom.simplifyTransformed(squaredTolerance, transform);
geom.setCoordinates([3, 4]);
const second = geom.simplifyTransformed(squaredTolerance * 2, source, dest);
const second = geom.simplifyTransformed(squaredTolerance * 2, transform);
expect(second).not.to.be(first);
});

View File

@@ -17,7 +17,7 @@ import Feature from '../../../../src/ol/Feature.js';
describe('ol.renderer.vector', function() {
describe('#renderFeature', function() {
let builderGroup;
let feature, iconStyle, style, squaredTolerance, listener, listenerThis;
let feature, iconStyle, style, squaredTolerance, listener;
let iconStyleLoadSpy;
beforeEach(function() {
@@ -33,7 +33,6 @@ describe('ol.renderer.vector', function() {
});
squaredTolerance = 1;
listener = function() {};
listenerThis = {};
iconStyleLoadSpy = sinon.stub(iconStyle, 'load').callsFake(function() {
iconStyle.iconImage_.imageState_ = 1; // LOADING
});
@@ -49,16 +48,14 @@ describe('ol.renderer.vector', function() {
let listeners;
// call #1
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(iconStyleLoadSpy.calledOnce).to.be.ok();
listeners = iconStyle.iconImage_.listeners_['change'];
expect(listeners.length).to.eql(1);
// call #2
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(iconStyleLoadSpy.calledOnce).to.be.ok();
listeners = iconStyle.iconImage_.listeners_['change'];
@@ -75,8 +72,7 @@ describe('ol.renderer.vector', function() {
style.getZIndex(), 'Image');
const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle');
const drawPointSpy = sinon.stub(imageReplay, 'drawPoint').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setImageStyleSpy.called).to.be(false);
setImageStyleSpy.restore();
drawPointSpy.restore();
@@ -88,8 +84,7 @@ describe('ol.renderer.vector', function() {
style.getZIndex(), 'Image');
const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle');
const drawMultiPointSpy = sinon.stub(imageReplay, 'drawMultiPoint').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setImageStyleSpy.called).to.be(false);
setImageStyleSpy.restore();
drawMultiPointSpy.restore();
@@ -102,8 +97,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(lineStringReplay,
'setFillStrokeStyle');
const drawLineStringSpy = sinon.stub(lineStringReplay, 'drawLineString').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawLineStringSpy.called).to.be(true);
setFillStrokeStyleSpy.restore();
@@ -117,8 +111,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(lineStringReplay,
'setFillStrokeStyle');
const drawMultiLineStringSpy = sinon.stub(lineStringReplay, 'drawMultiLineString').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawMultiLineStringSpy.called).to.be(true);
setFillStrokeStyleSpy.restore();
@@ -133,8 +126,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(polygonReplay,
'setFillStrokeStyle');
const drawPolygonSpy = sinon.stub(polygonReplay, 'drawPolygon').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawPolygonSpy.called).to.be(true);
setFillStrokeStyleSpy.restore();
@@ -149,8 +141,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(polygonReplay,
'setFillStrokeStyle');
const drawMultiPolygonSpy = sinon.stub(polygonReplay, 'drawMultiPolygon').callsFake(VOID);
renderFeature(builderGroup, feature,
style, squaredTolerance, listener, listenerThis);
renderFeature(builderGroup, feature, style, squaredTolerance, listener);
expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawMultiPolygonSpy.called).to.be(true);
setFillStrokeStyleSpy.restore();