Hit detection respects min and maxResolution
This commit is contained in:
@@ -108,6 +108,55 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('visibleAtResolution', function() {
|
||||
var layer;
|
||||
|
||||
beforeEach(function() {
|
||||
layer = new ol.layer.Layer({
|
||||
source: new ol.source.Source({
|
||||
projection: ol.proj.get('EPSG:4326')
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
goog.dispose(layer);
|
||||
});
|
||||
|
||||
it('returns false if layer is not visible', function() {
|
||||
layer.setVisible(false);
|
||||
layer.setMinResolution(3);
|
||||
layer.setMaxResolution(5);
|
||||
var layerState = layer.getLayerState();
|
||||
expect(ol.layer.Layer.visibleAtResolution(layerState, 4)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns false if resolution lower than minResolution', function() {
|
||||
layer.setVisible(true);
|
||||
layer.setMinResolution(3);
|
||||
layer.setMaxResolution(5);
|
||||
var layerState = layer.getLayerState();
|
||||
expect(ol.layer.Layer.visibleAtResolution(layerState, 2)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns false if resolution greater than maxResolution', function() {
|
||||
layer.setVisible(true);
|
||||
layer.setMinResolution(3);
|
||||
layer.setMaxResolution(5);
|
||||
var layerState = layer.getLayerState();
|
||||
expect(ol.layer.Layer.visibleAtResolution(layerState, 6)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true otherwise', function() {
|
||||
layer.setVisible(true);
|
||||
layer.setMinResolution(3);
|
||||
layer.setMaxResolution(5);
|
||||
var layerState = layer.getLayerState();
|
||||
expect(ol.layer.Layer.visibleAtResolution(layerState, 4)).to.be(true);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('#getLayerState', function() {
|
||||
|
||||
var layer;
|
||||
|
||||
Reference in New Issue
Block a user