diff options
Diffstat (limited to 'misc/openlayers/tests/Control/GetFeature.html')
-rw-r--r-- | misc/openlayers/tests/Control/GetFeature.html | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/misc/openlayers/tests/Control/GetFeature.html b/misc/openlayers/tests/Control/GetFeature.html deleted file mode 100644 index bbdd0e4..0000000 --- a/misc/openlayers/tests/Control/GetFeature.html +++ /dev/null @@ -1,177 +0,0 @@ -<html> -<head> - <script src="../OLLoader.js"></script> - <script type="text/javascript"> - function test_Control_GetFeature_constructor(t) { - t.plan(3); - var protocol = "foo"; - var control = new OpenLayers.Control.GetFeature({ - protocol: protocol - }); - t.ok(control instanceof OpenLayers.Control.GetFeature, - "new OpenLayers.Control.SelectFeature returns an instance"); - t.eq(control.protocol, "foo", - "constructor sets protocol correctly"); - - control = new OpenLayers.Control.GetFeature({ - filterType: OpenLayers.Filter.Spatial.INTERSECTS - }); - t.eq(control.filterType, OpenLayers.Filter.Spatial.INTERSECTS, - "constructor sets filterType correctly"); - - } - - function test_Control_GetFeature_select(t) { - t.plan(10); - var cssAdded; - var map = new OpenLayers.Map("map"); - var layer = new OpenLayers.Layer.WMS("foo", "wms", { - layers: "foo" - }); - map.addLayer(layer); - map.setCenter(new OpenLayers.LonLat(1,2)); - var feature1 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,2)); - var feature2 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(2,3)); - var feature3 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(3,1)); - var control = new OpenLayers.Control.GetFeature({ - protocol: new OpenLayers.Protocol({ - read: function(obj) { - cssAdded = OpenLayers.Element.hasClass(map.viewPortDiv, - "olCursorWait"); - obj.callback.call(obj.scope, { - features: [feature1, feature2, feature3], - success: function() {return true;} - }); - } - }), - box: true - }); - map.addControl(control); - - var singleTest = function(evt) { - t.eq(evt.feature.id, feature1.id, "featureselected callback called with closest feature"); - } - cssAdded = false; - control.events.register("featureselected", this, singleTest); - control.selectClick({xy: new OpenLayers.Pixel(200, 125)}); - t.ok(cssAdded, - "select adds CSS class (click)"); - t.ok(!OpenLayers.Element.hasClass(map.viewPortDiv, "olCursorWait"), - "callback removes CSS class (click)"); - control.events.unregister("featureselected", this, singleTest); - - var count = 0; - var beforeFeatureSelected = function(evt) { - count++; - return count < 3; - } - var features = []; - var boxTest = function(evt) { - features.push(evt.feature); - } - var beforeFeaturesSelected = function(evt) { - t.eq(evt.features.length, 3, "3 features passed to the beforefeaturesselected handler"); - } - var featuresSelected = function(evt) { - t.eq(evt.features.length, 2, "2 features passed to the featuresselected handler"); - } - control.events.register("beforefeatureselected", this, beforeFeatureSelected); - control.events.register("featureselected", this, boxTest); - control.events.register("beforefeaturesselected", this, beforeFeaturesSelected); - control.events.register("featuresselected", this, featuresSelected); - cssAdded = false; - control.selectBox(new OpenLayers.Bounds(0,0,4,4)); - control.events.unregister("beforefeatureselected", this, beforeFeatureSelected); - control.events.unregister("featureselected", this, boxTest); - control.events.unregister("beforefeaturesselected", this, beforeFeaturesSelected); - control.events.unregister("featuresselected", this, featuresSelected); - t.eq(features.length, 2, "2 features inside box selected"); - t.eq(features[1].id, feature2.id, "featureselected callback called with multiple features"); - t.ok(cssAdded, - "select adds CSS class (box)"); - t.ok(!OpenLayers.Element.hasClass(map.viewPortDiv, "olCursorWait"), - "callback removes CSS class (box)"); - - // allow several features even for single click - control.single = false; - var multiplePointTest = function(evt) { - t.eq(evt.features.length, 3, "3 features passed to the featuresselected handler"); - } - control.events.register("featuresselected", this, multiplePointTest); - control.selectClick({xy: new OpenLayers.Pixel(200, 125)}); - control.events.unregister("featuresselected", this, multiplePointTest); - } - - function test_Control_GetFeature_hover(t) { - t.plan(9); - var cssAdded; - var abortedResponse = null; - var map = new OpenLayers.Map("map"); - var layer = new OpenLayers.Layer.WMS("foo", "wms", { - layers: "foo" - }); - map.addLayer(layer); - map.setCenter(new OpenLayers.LonLat(1,2)); - var feature1 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,2)); - var feature2 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(2,3)); - var response = new OpenLayers.Protocol.Response(); - var control = new OpenLayers.Control.GetFeature({ - protocol: new OpenLayers.Protocol({ - read: function(obj){ - cssAdded = OpenLayers.Element.hasClass(map.viewPortDiv, - "olCursorWait"); - obj.callback.call(obj.scope, { - features: [feature1, feature2], - success: function() {return true;} - }); - return response; - }, - abort: function(response) { - abortedResponse = response; - } - }), - hover: true - }); - map.addControl(control); - - var hoverFeature; - var hoverTest = function(evt) { - t.eq(evt.feature.id, hoverFeature.id, "hoverfeature callback called with closest feature"); - } - var outTest = function(evt) { - t.eq(evt.feature.id, feature1.id, "outfeature callback called with previously hovered feature"); - } - control.events.register("hoverfeature", this, hoverTest); - control.events.register("outfeature", this, outTest); - hoverFeature = feature1; - control.selectHover({xy: new OpenLayers.Pixel(200, 125)}); - t.ok(control.hoverResponse == response, - "selectHover stores the protocol response in the hoverResponse property"); - - hoverFeature = feature2; - cssAdded = false; - control.selectHover({xy: new OpenLayers.Pixel(400, 0)}); - t.ok(cssAdded, - "select adds CSS class (hover)"); - t.ok(!OpenLayers.Element.hasClass(map.viewPortDiv, "olCursorWait"), - "callback removes CSS class (hover)"); - - OpenLayers.Element.addClass(map.viewPortDiv, "olCursorWait"); - control.cancelHover(); - t.ok(abortedResponse == response, - "cancelHover calls protocol.abort() with the expected response"); - t.eq(control.hoverResponse, null, - "cancelHover sets this.hoverResponse to null"); - t.ok(!OpenLayers.Element.hasClass(map.viewPortDiv, "olCursorWait"), - "cancelHover removes CSS class"); - - control.events.unregister("hoverfeature", this, hoverTest); - control.events.unregister("outfeature", this, outTest); - } - - </script> -</head> -<body> - <div id="map" style="width: 400px; height: 250px;"/> -</body> -</html> |