Hit detection respects min and maxResolution

This commit is contained in:
Éric Lemoine
2014-05-23 16:44:43 +02:00
parent 81523091f0
commit fd8a46dcae
5 changed files with 72 additions and 9 deletions

View File

@@ -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;