Clear null geometry features in ol.source.Vector#clear
This commit is contained in:
@@ -130,6 +130,10 @@ ol.source.Vector.prototype.addFeaturesInternal = function(features) {
|
|||||||
ol.source.Vector.prototype.clear = function() {
|
ol.source.Vector.prototype.clear = function() {
|
||||||
this.rBush_.forEach(this.removeFeatureInternal, this);
|
this.rBush_.forEach(this.removeFeatureInternal, this);
|
||||||
this.rBush_.clear();
|
this.rBush_.clear();
|
||||||
|
goog.object.forEach(
|
||||||
|
this.nullGeometryFeatures_, this.removeFeatureInternal, this);
|
||||||
|
goog.object.clear(this.nullGeometryFeatures_);
|
||||||
|
goog.asserts.assert(goog.object.isEmpty(this.featureChangeKeys_));
|
||||||
this.dispatchChangeEvent();
|
this.dispatchChangeEvent();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ describe('ol.source.Vector', function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('when populated with 10 random points', function() {
|
describe('when populated with 10 random points and a null', function() {
|
||||||
|
|
||||||
var features;
|
var features;
|
||||||
var vectorSource;
|
var vectorSource;
|
||||||
@@ -77,6 +77,7 @@ describe('ol.source.Vector', function() {
|
|||||||
features[i] =
|
features[i] =
|
||||||
new ol.Feature(new ol.geom.Point([Math.random(), Math.random()]));
|
new ol.Feature(new ol.geom.Point([Math.random(), Math.random()]));
|
||||||
}
|
}
|
||||||
|
features.push(new ol.Feature(null));
|
||||||
vectorSource = new ol.source.Vector({
|
vectorSource = new ol.source.Vector({
|
||||||
features: features
|
features: features
|
||||||
});
|
});
|
||||||
@@ -95,7 +96,7 @@ describe('ol.source.Vector', function() {
|
|||||||
expect(changeSpy).to.be.called();
|
expect(changeSpy).to.be.called();
|
||||||
expect(changeSpy.callCount).to.be(1);
|
expect(changeSpy.callCount).to.be(1);
|
||||||
expect(removeFeatureSpy).to.be.called();
|
expect(removeFeatureSpy).to.be.called();
|
||||||
expect(removeFeatureSpy.callCount).to.be(10);
|
expect(removeFeatureSpy.callCount).to.be(features.length);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user