Move deprecated Layer.WFS and Tile.WFS into deprecated.js.
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
<html>
|
||||
<head>
|
||||
<script src="../../OLLoader.js"></script>
|
||||
<script src="../../../lib/deprecated.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var name = "Vector Layer";
|
||||
|
||||
function test_Layer_WFS_constructor(t) {
|
||||
t.plan(3);
|
||||
|
||||
var layer = new OpenLayers.Layer.WFS(name, "url", {});
|
||||
t.ok(layer instanceof OpenLayers.Layer.WFS, "new OpenLayers.Layer.Vector returns correct object" );
|
||||
t.eq(layer.name, name, "layer name is correctly set");
|
||||
t.ok(layer.renderer.CLASS_NAME, "layer has a renderer");
|
||||
|
||||
}
|
||||
|
||||
function test_Layer_WFS_getDataExtent(t) {
|
||||
t.plan(1);
|
||||
|
||||
var layer = new OpenLayers.Layer.WFS(name, "url", {});
|
||||
layer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 0)));
|
||||
layer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 1)));
|
||||
t.eq(layer.getDataExtent().toBBOX(), "0,0,0,1", "bbox is correctly pulled from vectors.");
|
||||
|
||||
}
|
||||
|
||||
function test_Layer_WFS_setOpacity(t) {
|
||||
t.plan(3);
|
||||
|
||||
var layer = new OpenLayers.Layer.WFS(name, "url", {});
|
||||
layer.setOpacity(.5);
|
||||
t.eq(layer.opacity, 0.5, "vector setOpacity didn't fail");
|
||||
var layer = new OpenLayers.Layer.WFS(name, "url", {}, {'featureClass': OpenLayers.Feature.WFS});
|
||||
var marker = new OpenLayers.Marker(new OpenLayers.LonLat(0,0));
|
||||
marker.setOpacity = function() {
|
||||
t.ok(true, "Marker setOpacity was called");
|
||||
}
|
||||
layer.addMarker(marker);
|
||||
layer.setOpacity(.6);
|
||||
t.eq(layer.opacity, 0.6, "setOpacity didn't fail on markers");
|
||||
}
|
||||
|
||||
function test_Layer_WFS_destroy(t) {
|
||||
t.plan(13);
|
||||
|
||||
var tVectorDestroy = OpenLayers.Layer.Vector.prototype.destroy;
|
||||
OpenLayers.Layer.Vector.prototype.destroy = function() {
|
||||
g_VectorDestroyed = true;
|
||||
}
|
||||
|
||||
var tMarkersDestroy = OpenLayers.Layer.Markers.prototype.destroy;
|
||||
OpenLayers.Layer.Markers.prototype.destroy = function() {
|
||||
g_MarkersDestroyed = true;
|
||||
}
|
||||
|
||||
var layer = {
|
||||
'vectorMode': true,
|
||||
'tile': {
|
||||
'destroy': function() {
|
||||
t.ok(true, "wfs layer's tile is destroyed");
|
||||
}
|
||||
},
|
||||
'ratio': {},
|
||||
'featureClass': {},
|
||||
'format': {},
|
||||
'formatObject': {
|
||||
'destroy': function() {
|
||||
t.ok(true, "wfs layer's format object is destroyed");
|
||||
}
|
||||
},
|
||||
'formatOptions': {},
|
||||
'encodeBBOX': {},
|
||||
'extractAttributes': {}
|
||||
};
|
||||
|
||||
//this call should set off two tests (destroys for tile and format object)
|
||||
g_VectorDestroyed = null;
|
||||
g_MarkersDestroyed = null;
|
||||
OpenLayers.Layer.WFS.prototype.destroy.apply(layer, []);
|
||||
|
||||
t.ok(g_VectorDestroyed && !g_MarkersDestroyed, "when vector mode is set to true, the default vector layer's destroy() method is called");
|
||||
t.eq(layer.vectorMode, null, "'vectorMode' property nullified");
|
||||
t.eq(layer.tile, null, "'tile' property nullified");
|
||||
t.eq(layer.ratio, null, "'ratio' property nullified");
|
||||
t.eq(layer.featureClass, null, "'featureClass' property nullified");
|
||||
t.eq(layer.format, null, "'format' property nullified");
|
||||
t.eq(layer.formatObject, null, "'formatObject' property nullified");
|
||||
t.eq(layer.formatOptions, null, "'formatOptions' property nullified");
|
||||
t.eq(layer.encodeBBOX, null, "'encodeBBOX' property nullified");
|
||||
t.eq(layer.extractAttributes, null, "'extractAttributes' property nullified");
|
||||
|
||||
layer.vectorMode = false;
|
||||
|
||||
//this call will *not* set off two tests (tile and format object are null)
|
||||
g_VectorDestroyed = null;
|
||||
g_MarkersDestroyed = null;
|
||||
OpenLayers.Layer.WFS.prototype.destroy.apply(layer, []);
|
||||
t.ok(!g_VectorDestroyed && g_MarkersDestroyed, "when vector mode is set to false, the default markers layer's destroy() method is called");
|
||||
|
||||
OpenLayers.Layer.Vector.prototype.destroy = tVectorDestroy;
|
||||
OpenLayers.Layer.Markers.prototype.destroy = tMarkersDestroy;
|
||||
}
|
||||
|
||||
function test_Layer_WFS_mapresizevector(t) {
|
||||
t.plan(2);
|
||||
|
||||
var map = new OpenLayers.Map("map");
|
||||
map.addLayer(new OpenLayers.Layer.WMS("WMS", "url", {}));
|
||||
var layer = new OpenLayers.Layer.WFS(name, "url", {});
|
||||
t.ok(layer.renderer.CLASS_NAME, "layer has a renderer");
|
||||
map.addLayer(layer);
|
||||
setSize = false;
|
||||
layer.renderer.setSize = function() { setSize = true; }
|
||||
layer.onMapResize();
|
||||
t.eq(setSize, true, "Renderer resize called on map size change.");
|
||||
map.destroy();
|
||||
|
||||
}
|
||||
function test_Layer_WFS_drawmap(t) {
|
||||
t.plan(2);
|
||||
var map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
map.addLayer(layer);
|
||||
|
||||
layer = new OpenLayers.Layer.WFS( "Owl Survey",
|
||||
"http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?",
|
||||
{typename: "OWLS", maxfeatures: 10},
|
||||
{ featureClass: OpenLayers.Feature.WFS});
|
||||
map.addLayer(layer);
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
try {
|
||||
map.setCenter(new OpenLayers.LonLat(-100, 60), 3);
|
||||
} catch (Exception) {
|
||||
}
|
||||
t.eq(layer.tile.url, "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?TYPENAME=OWLS&MAXFEATURES=10&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=-187.890625,-36.6796875,-12.109375,156.6796875", "Tile URL is set correctly when not encoded");
|
||||
map.destroy();
|
||||
var map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'}
|
||||
);
|
||||
map.addLayer(layer);
|
||||
|
||||
layer = new OpenLayers.Layer.WFS( "Owl Survey",
|
||||
"http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?",
|
||||
{typename: "OWLS", maxfeatures: 10},
|
||||
{ featureClass: OpenLayers.Feature.WFS, 'encodeBBOX': true});
|
||||
map.addLayer(layer);
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
try {
|
||||
map.setCenter(new OpenLayers.LonLat(-100, 60), 3);
|
||||
} catch (Exception) {
|
||||
}
|
||||
t.eq(layer.tile.url, "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?TYPENAME=OWLS&MAXFEATURES=10&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=-187.890625%2C-36.679687%2C-12.109375%2C156.679688", "Tile URL is set correctly when not encoded");
|
||||
map.destroy();
|
||||
}
|
||||
function test_projection_srs(t) {
|
||||
t.plan(1);
|
||||
var map = new OpenLayers.Map('map');
|
||||
map.addLayer(new OpenLayers.Layer("",{isBaseLayer: true} ));
|
||||
// we use an empty moveTo function because we don't want to request tiles
|
||||
var layer = new OpenLayers.Layer.WFS("","/wfs",{},{'projection': new OpenLayers.Projection("EPSG:900913"),
|
||||
moveTo: function() {}});
|
||||
map.addLayer(layer);
|
||||
map.zoomToMaxExtent();
|
||||
var params = OpenLayers.Util.getParameters(layer.getFullRequestString());
|
||||
t.eq(params.SRS, "EPSG:900913", "SRS represents projection of WFS layer, instead of map (#1537)");
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="map" style="width:500px;height:550px"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,215 @@
|
||||
<html>
|
||||
<head>
|
||||
<script src="../../OLLoader.js"></script>
|
||||
<script src="../../../lib/deprecated.js"></script>
|
||||
<script type="text/javascript">
|
||||
var tile;
|
||||
|
||||
var map, layer;
|
||||
function setUp() {
|
||||
map = new OpenLayers.Map("map");
|
||||
layer = new OpenLayers.Layer(null, {
|
||||
isBaseLayer: true
|
||||
});
|
||||
map.addLayer(layer)
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0));
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
map.destroy();
|
||||
map = null;
|
||||
layer = null;
|
||||
}
|
||||
|
||||
function test_Tile_WFS_constructor (t) {
|
||||
t.plan( 8 );
|
||||
setUp();
|
||||
|
||||
var position = new OpenLayers.Pixel(10,20);
|
||||
var bounds = new OpenLayers.Bounds(1,2,3,4);
|
||||
var url = "bobob";
|
||||
var size = new OpenLayers.Size(5,6);
|
||||
|
||||
tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
|
||||
|
||||
t.ok( tile instanceof OpenLayers.Tile.WFS, "new OpenLayers.Tile.WFS returns Tile.WFS object" );
|
||||
t.ok( tile.layer === layer, "tile.layer set correctly");
|
||||
t.ok( tile.position.equals(position), "tile.position set correctly");
|
||||
t.ok( tile.bounds.equals(bounds), "tile.bounds set correctly");
|
||||
t.eq( tile.url, url, "tile.url set correctly");
|
||||
t.ok( tile.size.equals(size), "tile.size is set correctly" );
|
||||
|
||||
t.ok( tile.id != null, "tile is given an id");
|
||||
t.ok( tile.events != null, "tile's events intitialized");
|
||||
|
||||
tearDown();
|
||||
}
|
||||
|
||||
function test_Tile_WFS_requestSuccess(t) {
|
||||
t.plan(2);
|
||||
setUp();
|
||||
|
||||
var tile = {
|
||||
'request': {}
|
||||
};
|
||||
|
||||
OpenLayers.Tile.WFS.prototype.requestSuccess.apply(tile, []);
|
||||
|
||||
t.ok(tile.request == null, "request property on tile set to null");
|
||||
|
||||
var position = new OpenLayers.Pixel(10,20);
|
||||
var bounds = new OpenLayers.Bounds(1,2,3,4);
|
||||
var url = "bobob";
|
||||
var size = new OpenLayers.Size(5,6);
|
||||
|
||||
tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
|
||||
tile.destroy();
|
||||
tile.requestSuccess({'requestText': '<xml><foo /></xml>'});
|
||||
t.ok(true, "Didn't fail after calling requestSuccess on destroyed tile.");
|
||||
|
||||
tearDown();
|
||||
}
|
||||
|
||||
function test_Tile_WFS_loadFeaturesForRegion(t) {
|
||||
t.plan(9);
|
||||
|
||||
var tile = {
|
||||
'url': {}
|
||||
};
|
||||
|
||||
var g_Success = {};
|
||||
|
||||
var _get = OpenLayers.Request.GET;
|
||||
OpenLayers.Request.GET = function(config) {
|
||||
t.ok(config.url == tile.url, "tile's url correctly passed");
|
||||
t.ok(config.params == null, "null params");
|
||||
t.ok(config.scope == tile, "tile passed as scope");
|
||||
t.ok(config.success == g_Success, "success passed");
|
||||
};
|
||||
|
||||
//no running request -- 4 tests
|
||||
OpenLayers.Tile.WFS.prototype.loadFeaturesForRegion.apply(tile, [g_Success]);
|
||||
|
||||
//running request (cancelled) -- 4 tests + 1 test (for request abort)
|
||||
tile.request = {
|
||||
'abort': function() {
|
||||
t.ok(true, "request aborted");
|
||||
}
|
||||
};
|
||||
OpenLayers.Tile.WFS.prototype.loadFeaturesForRegion.apply(tile, [g_Success]);
|
||||
|
||||
OpenLayers.Request.GET = _get;
|
||||
}
|
||||
|
||||
function test_Tile_WFS_destroy(t) {
|
||||
t.plan(9);
|
||||
setUp();
|
||||
|
||||
var position = new OpenLayers.Pixel(10,20);
|
||||
var bounds = new OpenLayers.Bounds(1,2,3,4);
|
||||
var url = "bobob";
|
||||
var size = new OpenLayers.Size(5,6);
|
||||
|
||||
tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
|
||||
tile.events.destroy = function() {
|
||||
t.ok(true, "tile events destroy() called");
|
||||
};
|
||||
|
||||
|
||||
var _gAbort = false;
|
||||
tile.request = {
|
||||
abort: function() {
|
||||
_gAbort = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tile.destroy();
|
||||
|
||||
t.ok(tile.layer == null, "tile.layer set to null");
|
||||
t.ok(tile.bounds == null, "tile.bounds set to null");
|
||||
t.ok(tile.size == null, "tile.size set to null");
|
||||
t.ok(tile.position == null, "tile.position set to null");
|
||||
t.ok(_gAbort, "request transport is aborted");
|
||||
t.ok(tile.request == null, "tile.request set to null");
|
||||
|
||||
t.ok(tile.events == null, "tile.events set to null");
|
||||
|
||||
tile.requestSuccess({'requestText': '<xml><foo /></xml>'});
|
||||
t.ok(true, "Didn't fail after calling requestSuccess on destroyed tile.");
|
||||
|
||||
tearDown();
|
||||
}
|
||||
function test_nonxml_format(t) {
|
||||
t.plan(2);
|
||||
|
||||
setUp();
|
||||
|
||||
var data = '{"type":"Feature", "id":"OpenLayers.Feature.Vector_135", "properties":{}, "geometry":{"type":"Point", "coordinates":[118.125, -18.6328125]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}'
|
||||
var position = new OpenLayers.Pixel(10,20);
|
||||
var bounds = new OpenLayers.Bounds(1,2,3,4);
|
||||
var url = "bobob";
|
||||
var size = new OpenLayers.Size(5,6);
|
||||
|
||||
var log = [];
|
||||
|
||||
var l = new OpenLayers.Layer(null, {
|
||||
vectorMode: true,
|
||||
formatObject: new OpenLayers.Format.GeoJSON(),
|
||||
addFeatures: function(features) {
|
||||
log.push(features);
|
||||
}
|
||||
})
|
||||
map.addLayer(l);
|
||||
|
||||
var tile = new OpenLayers.Tile.WFS(l, position, bounds, url, size);
|
||||
|
||||
tile.requestSuccess({responseText: data});
|
||||
|
||||
t.eq(log.length, 1, "one call logged")
|
||||
t.eq(log[0] && log[0].length, 1, "GeoJSON format returned a single feature which was added.");
|
||||
|
||||
tearDown();
|
||||
}
|
||||
|
||||
function test_xml_string_and_dom(t) {
|
||||
t.plan(4);
|
||||
setUp();
|
||||
|
||||
var data = '<?xml version="1.0" encoding="ISO-8859-1" ?><wfs:FeatureCollection xmlns:bsc="http://www.bsc-eoc.org/bsc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=OWLS&OUTPUTFORMAT=XMLSCHEMA"> <gml:boundedBy> <gml:Box srsName="EPSG:4326"> <gml:coordinates>-94.989723,43.285833 -74.755001,51.709520</gml:coordinates> </gml:Box> </gml:boundedBy> <gml:featureMember> <bsc:OWLS> <gml:boundedBy> <gml:Box srsName="EPSG:4326"> <gml:coordinates>-94.142500,50.992777 -94.142500,50.992777</gml:coordinates> </gml:Box> </gml:boundedBy> <bsc:msGeometry> <gml:Point srsName="EPSG:4326"> <gml:coordinates>-94.142500,50.992777</gml:coordinates> </gml:Point> </bsc:msGeometry> <bsc:ROUTEID>ON_2</bsc:ROUTEID> <bsc:ROUTE_NAME>Suffel Road</bsc:ROUTE_NAME> <bsc:LATITUDE>50.9927770</bsc:LATITUDE> <bsc:LONGITUDE>-94.1425000</bsc:LONGITUDE> </bsc:OWLS> </gml:featureMember></wfs:FeatureCollection>';
|
||||
var position = new OpenLayers.Pixel(10,20);
|
||||
var bounds = new OpenLayers.Bounds(1,2,3,4);
|
||||
var url = "bobob";
|
||||
var size = new OpenLayers.Size(5,6);
|
||||
|
||||
var l = new OpenLayers.Layer();
|
||||
map.addLayer(l);
|
||||
|
||||
var tile = new OpenLayers.Tile.WFS(l, position, bounds, url, size);
|
||||
|
||||
var log = [];
|
||||
tile.addResults = function(results) {
|
||||
log.push(results);
|
||||
}
|
||||
tile.requestSuccess({responseText: data});
|
||||
|
||||
t.eq(log.length, 1, "first call logged");
|
||||
t.eq(log[0] && log[0].length, 1, "results count is correct when passing in XML as a string into non-vectormode");
|
||||
|
||||
log.length = 0;
|
||||
tile.addResults = function(results) {
|
||||
log.push(results);
|
||||
}
|
||||
tile.requestSuccess({responseXML: OpenLayers.Format.XML.prototype.read(data)});
|
||||
|
||||
t.eq(log.length, 1, "second call logged");
|
||||
t.eq(log[0] && log[0].length, 1, "results count is correct when passing in XML as DOM into non-vectormode");
|
||||
|
||||
tearDown();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user