From b8c70bcbe7c034c61701517b58cb355c16ef7c6b Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 31 Oct 2019 15:58:35 +0100 Subject: [PATCH] Fix layer zIndex test with falsy values --- src/ol/layer/Base.js | 3 ++- test/spec/ol/layer/layer.test.js | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ol/layer/Base.js b/src/ol/layer/Base.js index 7b646c01dd..de2122ef14 100644 --- a/src/ol/layer/Base.js +++ b/src/ol/layer/Base.js @@ -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(); diff --git a/test/spec/ol/layer/layer.test.js b/test/spec/ol/layer/layer.test.js index 3fe42a337d..4aa45692ae 100644 --- a/test/spec/ol/layer/layer.test.js +++ b/test/spec/ol/layer/layer.test.js @@ -650,10 +650,12 @@ describe('ol.layer.Layer', function() { }); it('respects the configured zIndex', function() { - layer.setZIndex(42); - map.dispatchEvent(new RenderEvent('precompose', null, frameState, 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); + }); }); });