Merge pull request #10237 from fredj/zIndex_falsy_value

Fix layer zIndex test with falsy values
This commit is contained in:
Frédéric Junod
2019-11-01 08:25:56 +01:00
committed by GitHub
2 changed files with 10 additions and 9 deletions

View File

@@ -108,11 +108,12 @@ class BaseLayer extends BaseObject {
managed: opt_managed === undefined ? true : opt_managed,
hasOverlay: false
});
const zIndex = this.getZIndex();
state.opacity = clamp(Math.round(this.getOpacity() * 100) / 100, 0, 1);
state.sourceState = this.getSourceState();
state.visible = this.getVisible();
state.extent = this.getExtent();
state.zIndex = this.getZIndex() || (state.managed === false ? Infinity : 0);
state.zIndex = zIndex !== undefined ? zIndex : (state.managed === false ? Infinity : 0);
state.maxResolution = this.getMaxResolution();
state.minResolution = Math.max(this.getMinResolution(), 0);
state.minZoom = this.getMinZoom();

View File

@@ -592,7 +592,7 @@ describe('ol.layer.Layer', function() {
const frameState = {
layerStatesArray: []
};
map.dispatchEvent(new RenderEvent('precompose', null, frameState, null, null));
map.dispatchEvent(new RenderEvent('precompose', null, frameState, null));
expect(frameState.layerStatesArray.length).to.be(1);
const layerState = frameState.layerStatesArray[0];
expect(layerState.layer).to.equal(layer);
@@ -644,18 +644,18 @@ describe('ol.layer.Layer', function() {
});
it('has Infinity as zIndex when not configured otherwise', function() {
map.dispatchEvent(new RenderEvent('precompose', null,
frameState, null, null));
map.dispatchEvent(new RenderEvent('precompose', null, frameState, null));
const layerState = frameState.layerStatesArray[0];
expect(layerState.zIndex).to.be(Infinity);
});
it('respects the configured zIndex', function() {
layer.setZIndex(42);
map.dispatchEvent(new RenderEvent('precompose', null,
frameState, null, null));
const layerState = frameState.layerStatesArray[0];
expect(layerState.zIndex).to.be(42);
[-5, 0, 42].forEach(index => {
layer.setZIndex(index);
map.dispatchEvent(new RenderEvent('precompose', null, frameState, null));
const layerState = frameState.layerStatesArray[0];
expect(layerState.zIndex).to.be(index);
});
});
});