Filter strategy constructor should not need filter, r=tschaub,fredj (closes #2841)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10879 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -45,14 +45,10 @@ OpenLayers.Strategy.Filter = OpenLayers.Class(OpenLayers.Strategy, {
|
|||||||
*
|
*
|
||||||
* Parameters:
|
* Parameters:
|
||||||
* options - {Object} Optional object whose properties will be set on the
|
* options - {Object} Optional object whose properties will be set on the
|
||||||
* instance. Strategy must be constructed with at least a <filter>
|
* instance.
|
||||||
* property.
|
|
||||||
*/
|
*/
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
OpenLayers.Strategy.prototype.initialize.apply(this, [options]);
|
OpenLayers.Strategy.prototype.initialize.apply(this, [options]);
|
||||||
if (!this.filter || !(this.filter instanceof OpenLayers.Filter)) {
|
|
||||||
throw new Error("Filter strategy must be constructed with a filter");
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -102,7 +98,7 @@ OpenLayers.Strategy.Filter = OpenLayers.Class(OpenLayers.Strategy, {
|
|||||||
* Method: handleAdd
|
* Method: handleAdd
|
||||||
*/
|
*/
|
||||||
handleAdd: function(event) {
|
handleAdd: function(event) {
|
||||||
if (!this.caching) {
|
if (!this.caching && this.filter) {
|
||||||
var features = event.features;
|
var features = event.features;
|
||||||
event.features = [];
|
event.features = [];
|
||||||
var feature;
|
var feature;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ var filter = new OpenLayers.Filter.Comparison({
|
|||||||
|
|
||||||
function test_initialize(t) {
|
function test_initialize(t) {
|
||||||
|
|
||||||
t.plan(3);
|
t.plan(4);
|
||||||
|
|
||||||
var strategy = new OpenLayers.Strategy.Filter({filter: filter});
|
var strategy = new OpenLayers.Strategy.Filter({filter: filter});
|
||||||
|
|
||||||
@@ -31,6 +31,14 @@ function test_initialize(t) {
|
|||||||
t.ok(strategy.filter === filter, "has filter");
|
t.ok(strategy.filter === filter, "has filter");
|
||||||
|
|
||||||
strategy.destroy();
|
strategy.destroy();
|
||||||
|
|
||||||
|
try {
|
||||||
|
strategy = new OpenLayers.Strategy.Filter();
|
||||||
|
t.ok(true, "strategy without filter works");
|
||||||
|
} catch (err) {
|
||||||
|
t.fail("strategy without filter should not throw");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user