3
<script src="../../lib/OpenLayers.js"></script>
4
<script type="text/javascript">
6
function test_constructor(t) {
9
var options = {'foo': 'bar'};
10
var filter = new OpenLayers.Filter.Spatial(options);
11
t.ok(filter instanceof OpenLayers.Filter.Spatial,
12
"new OpenLayers.Filter.Spatial returns object" );
13
t.eq(filter.foo, "bar", "constructor sets options correctly");
14
t.eq(typeof filter.evaluate, "function", "filter has an evaluate function");
17
function test_destroy(t) {
20
var filter = new OpenLayers.Filter.Spatial();
22
t.eq(filter.symbolizer, null, "symbolizer hash nulled properly");
25
function test_evaluate(t) {
28
var filer, feature, res, geom, bounds;
30
bounds = new OpenLayers.Bounds(0, 0, 10, 10);
31
filter = new OpenLayers.Filter.Spatial({
32
type: OpenLayers.Filter.Spatial.BBOX,
37
feature = new OpenLayers.Feature.Vector(
38
new OpenLayers.Geometry.Point(2, 2));
39
res = filter.evaluate(feature);
41
"evaluates returns correct value when feature intersects bounds");
44
feature = new OpenLayers.Feature.Vector(
45
new OpenLayers.Geometry.Point(20, 20));
46
res = filter.evaluate(feature);
48
"evaluates returns correct value when feature does not intersect bounds");
51
geom = bounds.toGeometry();
52
feature = new OpenLayers.Feature.Vector(
53
new OpenLayers.Geometry.Point(2, 2));
54
filter = new OpenLayers.Filter.Spatial({
55
type: OpenLayers.Filter.Spatial.INTERSECTS,
58
res = filter.evaluate(feature);
60
"evaluates returns correct value when feature intersects bounds");
63
geom = bounds.toGeometry();
64
feature = new OpenLayers.Feature.Vector(
65
new OpenLayers.Geometry.Point(20, 20));
66
filter = new OpenLayers.Filter.Spatial({
67
type: OpenLayers.Filter.Spatial.INTERSECTS,
70
res = filter.evaluate(feature);
72
"evaluates returns correct value when feature does not intersect bounds");