Files
openlayers/tests/Tile/test_WFS.html

132 lines
4.1 KiB
HTML

<html>
<head>
<script src="../../lib/OpenLayers.js"></script>
<script type="text/javascript">
var tile;
function test_01_Tile_WFS_constructor (t) {
t.plan( 8 );
var layer = {}; // bogus layer
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.eq( 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");
}
function test_Tile_WFS_requestSuccess(t) {
t.plan(2);
var tile = {
'request': {}
};
OpenLayers.Tile.WFS.prototype.requestSuccess.apply(tile, []);
t.ok(tile.request == null, "request property on tile set to null");
var layer = {}; // bogus layer
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.");
}
function test_Tile_WFS_loadFeaturesForRegion(t) {
t.plan(9);
var tile = {
'url': {}
};
var g_Success = {};
var tLoadURL = OpenLayers.loadURL;
OpenLayers.loadURL = function(url, params, caller, onComplete) {
t.ok(url == tile.url, "tile's url correctly passed as 1st param to loadURL");
t.ok(params == null, "null passed as 2nd param to loadURL");
t.ok(caller == tile, "tile passed as 3rd param to loadURL");
t.ok(onComplete == g_Success, "success param from loadFeaturesForRegion() passed as 4th param to loadURL");
};
//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 = {
'transport': {
'abort': function() {
t.ok(true, "request aborted");
}
}
};
OpenLayers.Tile.WFS.prototype.loadFeaturesForRegion.apply(tile, [g_Success]);
OpenLayers.loadURL = tLoadURL;
}
function test_Tile_WFS_destroy(t) {
t.plan(9);
var layer = {}; // bogus layer
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 = {
transport: {
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.");
}
</script>
</head>
<body>
</body>
</html>