Avoid duplicate change event on visibility change

This commit is contained in:
Tim Schaub
2013-12-11 01:28:55 -07:00
parent 858fe14163
commit a792a224f6
2 changed files with 19 additions and 8 deletions
-5
View File
@@ -71,11 +71,6 @@ ol.layer.Base = function(options) {
values.minResolution : 0; values.minResolution : 0;
this.setValues(values); this.setValues(values);
goog.events.listen(this,
ol.Object.getChangeEventType(ol.layer.LayerProperty.VISIBLE),
this.handleLayerVisibleChange, false, this);
}; };
goog.inherits(ol.layer.Base, ol.Object); goog.inherits(ol.layer.Base, ol.Object);
+19 -3
View File
@@ -370,20 +370,36 @@ describe('ol.layer.Layer', function() {
describe('#setVisible', function() { describe('#setVisible', function() {
it('sets visible property', function() { var layer;
var layer = new ol.layer.Layer({ beforeEach(function() {
layer = new ol.layer.Layer({
source: new ol.source.Source({ source: new ol.source.Source({
projection: ol.proj.get('EPSG:4326') projection: ol.proj.get('EPSG:4326')
}) })
}); });
});
afterEach(function() {
goog.dispose(layer);
});
it('sets visible property', function() {
layer.setVisible(false); layer.setVisible(false);
expect(layer.getVisible()).to.be(false); expect(layer.getVisible()).to.be(false);
layer.setVisible(true); layer.setVisible(true);
expect(layer.getVisible()).to.be(true); expect(layer.getVisible()).to.be(true);
});
goog.dispose(layer); it('fires a change event', function() {
var listener = sinon.spy();
layer.on(ol.ObjectEventType.CHANGE, listener);
layer.setVisible(false);
expect(listener.callCount).to.be(1);
layer.setVisible(true);
expect(listener.callCount).to.be(2);
}); });
}); });