Merge pull request #1256 from ahocevar/simplify-select
Simplify Select interaction and prepare for programmatic feature selection without interaction
This commit is contained in:
@@ -894,7 +894,7 @@ describe('ol.expr.lib', function() {
|
||||
describe('renderIntent()', function() {
|
||||
|
||||
var feature = new ol.Feature();
|
||||
feature.renderIntent = 'foo';
|
||||
feature.setRenderIntent('foo');
|
||||
|
||||
var isFoo = parse('renderIntent("foo")');
|
||||
var isBar = parse('renderIntent("bar")');
|
||||
|
||||
@@ -46,29 +46,27 @@ describe('ol.interaction.Select', function() {
|
||||
|
||||
describe('#select', function() {
|
||||
|
||||
var selectedFeaturesFilter = function(feature) {
|
||||
return feature.getRenderIntent() == 'selected';
|
||||
};
|
||||
|
||||
it('toggles selection of features', function() {
|
||||
select.select(map, [features], [vector]);
|
||||
var layer = select.selectionLayers[goog.getUid(map)]
|
||||
.layers[goog.getUid(vector)];
|
||||
expect(goog.object.getCount(layer.featureCache_.idLookup_)).to.be(2);
|
||||
expect(vector.getFeatures(selectedFeaturesFilter).length).to.be(2);
|
||||
select.select(map, [features], [vector]);
|
||||
expect(goog.object.getCount(layer.featureCache_.idLookup_)).to.be(0);
|
||||
expect(vector.getFeatures(selectedFeaturesFilter).length).to.be(0);
|
||||
});
|
||||
|
||||
it('can append features to an existing selection', function() {
|
||||
select.select(map, [[features[0]]], [vector]);
|
||||
select.select(map, [[features[0]]], [vector], true);
|
||||
select.select(map, [[features[1]]], [vector]);
|
||||
var layer = select.selectionLayers[goog.getUid(map)]
|
||||
.layers[goog.getUid(vector)];
|
||||
expect(goog.object.getCount(layer.featureCache_.idLookup_)).to.be(2);
|
||||
expect(vector.getFeatures(selectedFeaturesFilter).length).to.be(2);
|
||||
});
|
||||
|
||||
it('can clear a selection before selecting new features', function() {
|
||||
select.select(map, [[features[0]]], [vector], true);
|
||||
select.select(map, [[features[1]]], [vector], true);
|
||||
var layer = select.selectionLayers[goog.getUid(map)]
|
||||
.layers[goog.getUid(vector)];
|
||||
expect(goog.object.getCount(layer.featureCache_.idLookup_)).to.be(1);
|
||||
expect(vector.getFeatures(selectedFeaturesFilter).length).to.be(1);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -76,7 +74,6 @@ describe('ol.interaction.Select', function() {
|
||||
});
|
||||
|
||||
goog.require('goog.dispose');
|
||||
goog.require('goog.object');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.interaction.Select');
|
||||
goog.require('ol.layer.Vector');
|
||||
|
||||
Reference in New Issue
Block a user