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

View File

@@ -71,11 +71,6 @@ ol.layer.Base = function(options) {
values.minResolution : 0;
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);

View File

@@ -370,20 +370,36 @@ describe('ol.layer.Layer', function() {
describe('#setVisible', function() {
it('sets visible property', function() {
var layer = new ol.layer.Layer({
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('sets visible property', function() {
layer.setVisible(false);
expect(layer.getVisible()).to.be(false);
layer.setVisible(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);
});
});