Add clone methods to Tile and Tile.Image, and add associated tests. r=crschmidt (closes #1296)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@5854 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Paul Spencer
2008-01-23 20:29:46 +00:00
parent 74bbd0347e
commit ef1af7dee4
4 changed files with 108 additions and 4 deletions

View File

@@ -24,7 +24,33 @@
t.eq( tile.url, url, "tile.url is set correctly");
t.ok( tile.size.equals(size), "tile.size is set correctly");
}
function test_02_Tile_Image_draw (t) {
function test_02_Tile_Image_clone (t) {
t.plan( 9 );
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var position = new OpenLayers.Pixel(20,30);
var bounds = new OpenLayers.Bounds(1,2,3,4);
var url = "http://www.openlayers.org/dev/tests/tileimage";
var size = new OpenLayers.Size(5,6);
tile = new OpenLayers.Tile.Image(layer, position, bounds, url, size);
tile.imgDiv = {};
var clone = tile.clone();
t.ok( clone instanceof OpenLayers.Tile.Image, "OpenLayers.Tile.clone returns Tile.Image object" );
t.ok( clone.layer == layer, "clone.layer is set correctly");
t.ok( clone.position.equals(position), "clone.position is set correctly");
t.ok( clone.bounds.equals(bounds), "clone.bounds is set correctly");
t.eq( clone.url, url, "clone.url is set correctly");
t.ok( clone.size.equals(size), "clone.size is set correctly");
t.ok( clone.frame, "clone has a frame");
t.ok( clone.frame != tile.frame, "clone's frame is a new one");
t.ok( clone.imgDiv == null, "clone's imgDiv was not copied");
}
function test_03_Tile_Image_draw (t) {
t.plan( 7 );
var map = new OpenLayers.Map('map');
@@ -78,7 +104,7 @@
tile.draw();
}
function test_03_Tile_Image_OutsideMaxExtent(t) {
function test_04_Tile_Image_OutsideMaxExtent(t) {
t.plan( 11 );
var position = new OpenLayers.Pixel(20,30);
var bounds = new OpenLayers.Bounds(1,2,3,4);
@@ -160,7 +186,7 @@
"http://labs.metacarta.com/wms/vmap0?" + OpenLayers.Util.getParameterString(tParams),
"Image covering more than all of extent loads");
}
function test_04_Tile_Image_Display_After_Move(t) {
function test_05_Tile_Image_Display_After_Move(t) {
t.plan(2);
var position = new OpenLayers.Pixel(20,30);
var bounds = new OpenLayers.Bounds(1,2,3,4);
@@ -185,7 +211,7 @@
}
function test_05_Tile_Image_gutters(t) {
function test_06_Tile_Image_gutters(t) {
t.plan(5);
var gutter = 0;

View File

@@ -31,6 +31,32 @@
t.ok( tile.events != null, "tile's events intitialized");
}
function test_02_Tile_clone (t) {
t.plan( 10 );
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(layer, position, bounds, url, size);
var clone = tile.clone();
t.ok( clone instanceof OpenLayers.Tile, "OpenLayers.Tile.clone returns Tile object" );
t.eq( clone.layer, layer, "clone.layer set correctly");
t.ok( clone.position.equals(position), "clone.position set correctly");
t.ok( clone.bounds.equals(bounds), "clone.bounds set correctly");
t.eq( clone.url, url, "clone.url set correctly");
t.ok( clone.size.equals(size), "clone.size is set correctly" );
t.ok( clone.id != null, "clone is given an id");
t.ok( clone.id != tile.id, "clone is given a new id");
t.ok(OpenLayers.String.startsWith(clone.id, "Tile_"),
"clone's id starts correctly");
t.ok( clone.events != null, "clone's events intitialized");
}
function test_99_Tile_destroy(t) {
t.plan( 6 );