Do not copy by reference size/bounds/position in making a new tile. All tests pass ie6/ff (Closes #1026).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4579 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -93,10 +93,10 @@ OpenLayers.Tile = OpenLayers.Class({
|
|||||||
*/
|
*/
|
||||||
initialize: function(layer, position, bounds, url, size) {
|
initialize: function(layer, position, bounds, url, size) {
|
||||||
this.layer = layer;
|
this.layer = layer;
|
||||||
this.position = position;
|
this.position = position.clone();
|
||||||
this.bounds = bounds;
|
this.bounds = bounds.clone();
|
||||||
this.url = url;
|
this.url = url;
|
||||||
this.size = size;
|
this.size = size.clone();
|
||||||
|
|
||||||
//give the tile a unique id based on its BBOX.
|
//give the tile a unique id based on its BBOX.
|
||||||
this.id = OpenLayers.Util.createUniqueID("Tile_");
|
this.id = OpenLayers.Util.createUniqueID("Tile_");
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
var tile;
|
var tile;
|
||||||
|
|
||||||
function test_01_Tile_constructor (t) {
|
function test_01_Tile_constructor (t) {
|
||||||
t.plan( 9 );
|
t.plan( 12 );
|
||||||
|
|
||||||
var layer = {}; // bogus layer
|
var layer = {}; // bogus layer
|
||||||
var position = new OpenLayers.Pixel(10,20);
|
var position = new OpenLayers.Pixel(10,20);
|
||||||
@@ -18,9 +18,12 @@
|
|||||||
t.ok( tile instanceof OpenLayers.Tile, "new OpenLayers.Tile returns Tile object" );
|
t.ok( tile instanceof OpenLayers.Tile, "new OpenLayers.Tile returns Tile object" );
|
||||||
t.eq( tile.layer, layer, "tile.layer set correctly");
|
t.eq( tile.layer, layer, "tile.layer set correctly");
|
||||||
t.ok( tile.position.equals(position), "tile.position set correctly");
|
t.ok( tile.position.equals(position), "tile.position set correctly");
|
||||||
|
t.ok( tile.position != position, "tile.position set not by reference");
|
||||||
t.ok( tile.bounds.equals(bounds), "tile.bounds set correctly");
|
t.ok( tile.bounds.equals(bounds), "tile.bounds set correctly");
|
||||||
|
t.ok( tile.bounds != bounds, "tile.bounds set not by reference");
|
||||||
t.eq( tile.url, url, "tile.url 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.size.equals(size), "tile.size is set correctly" );
|
||||||
|
t.ok( tile.size != size, "tile.size set not by reference");
|
||||||
|
|
||||||
t.ok( tile.id != null, "tile is given an id");
|
t.ok( tile.id != null, "tile is given an id");
|
||||||
t.ok(OpenLayers.String.startsWith(tile.id, "Tile_"),
|
t.ok(OpenLayers.String.startsWith(tile.id, "Tile_"),
|
||||||
|
|||||||
Reference in New Issue
Block a user