Pullup r2999:3087 for RC2.

svn merge trunk/openlayers/@2999 trunk/openlayers/@HEAD branches/openlayers/2.4/



git-svn-id: http://svn.openlayers.org/branches/openlayers/2.4@3088 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2007-04-20 01:10:43 +00:00
parent b6fb16153c
commit b5103eb8ce
58 changed files with 1399 additions and 503 deletions
+16 -4
View File
@@ -18,7 +18,7 @@
t.eq( layer.name, "Test Layer", "layer.name is correct" );
t.ok( layer.id != null, "Layer is given an id");
t.ok( layer.projection, "none", "default layer projection correctly set");
t.eq( layer.projection, "none", "default layer projection correctly set");
t.ok( ((layer.chicken == 151) && (layer.foo == "bar")), "layer.options correctly set to Layer Object" );
t.ok( ((layer.options["chicken"] == 151) && (layer.options["foo"] == "bar")), "layer.options correctly backed up" );
@@ -39,7 +39,7 @@
}
function test_50_Layer_Image_tileTests (t) {
t.plan(4);
t.plan(9);
var map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.Image('Test Layer',
@@ -49,8 +49,20 @@
map.addLayer(layer);
map.zoomToMaxExtent();
t.eq(layer.tile.position.x,-40, "Tile x positioned correctly at maxextent");
t.eq(layer.tile.position.y,107, "Tile y positioned correctly at maxextent");
t.ok(layer.imageSize, "layer.imageSize is set");
t.ok(layer.tileSize, "layer.tileSize is set");
t.ok(layer.tileSize.equals(layer.imageSize), "tileSize equals imageSize");
// no resolution info was sent, so maxResolution should be calculated
// by aspectRatio*extent/size (this is the pixel aspect ratio)
var aspectRatio = (layer.extent.getHeight() / layer.size.h) /
(layer.extent.getWidth() / layer.size.w);
t.eq(aspectRatio, layer.aspectRatio, "aspectRatio is properly set");
var maxExtent = aspectRatio * layer.extent.getWidth() / layer.size.w;
t.eq(maxExtent, layer.maxResolution, "maxResolution is properly set");
t.eq(layer.tile.position.x,-42, "Tile x positioned correctly at maxextent");
t.eq(layer.tile.position.y,106, "Tile y positioned correctly at maxextent");
t.eq(layer.tile.imgDiv.src, "http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif", "URL is correct");
map.zoomIn();
t.eq(layer.tile.imgDiv.src, "http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif", "URL is correct");
+3 -1
View File
@@ -147,7 +147,7 @@
*/
function test_10_Layer_KaMap_clone(t) {
t.plan(4);
t.plan(5);
var options = {tileSize: new OpenLayers.Size(500,50)};
var map = new OpenLayers.Map('map', options);
@@ -168,6 +168,8 @@
t.eq( clone.tileSize.w, 500, "changing layer.tileSize does not change clone.tileSize -- a fresh copy was made, not just copied reference");
t.eq( clone.alpha, layer.alpha, "alpha copied correctly");
t.eq( clone.CLASS_NAME, "OpenLayers.Layer.KaMap", "Clone is a ka-map layer");
layer.grid = null;
}
+71 -4
View File
@@ -21,8 +21,7 @@
var layer = new OpenLayers.Layer.Vector(name);
var point = new OpenLayers.Geometry.Point(-111.04, 45.68);
var pointFeature = new OpenLayers.Feature.Vector(layer, point);
var pointFeature = new OpenLayers.Feature.Vector(point);
layer.addFeatures([pointFeature]);
t.eq(layer.features.length, 1, "OpenLayers.Layer.Vector.addFeatures adds something to the array");
@@ -30,7 +29,7 @@
}
function test_03_Layer_Vector_removeFeatures(t) {
t.plan(1);
t.plan(2);
var layer = new OpenLayers.Layer.Vector(name);
@@ -43,6 +42,11 @@
var features = layer.removeFeatures([pointFeature1]);
t.ok(layer.features.length == 1, "OpenLayers.Layer.Vector.removeFeatures removes a feature from the features array");
layer.addFeatures([pointFeature1.clone(), pointFeature2.clone()]);
var features = layer.removeFeatures(layer.features);
t.ok(layer.features.length == 0,
"OpenLayers.Layer.Vector.removeFeatures(layer.features) removes all feature from the features array");
}
function test_Layer_Vector_addStyle (t) {
@@ -55,9 +59,70 @@
layer.addFeatures(f);
t.ok( f.style != null, "Feature style is set by layer.");
}
function test_Layer_Vector_drawFeature(t) {
t.plan(4);
var layer = new OpenLayers.Layer.Vector("Test Layer");
var map = new OpenLayers.Map('map');
map.addLayer(layer);
var geometry = new OpenLayers.Geometry.Point(10, 10);
var feature = new OpenLayers.Feature.Vector(geometry);
var f, s;
layer.renderer = {
drawFeature: function(feature, style) {
f = feature;
s = style;
}
};
layer.drawFeature(feature);
t.ok(geometry.equals(f.geometry),
"calls layer.renderer.drawFeature() with feature.geometry");
feature.style = 'exists';
layer.drawFeature(feature);
t.eq(feature.style, s,
"calls layer.renderer.drawFeature() with feature.style");
feature.style = null;
layer.style = 'exists';
layer.drawFeature(feature);
t.eq(layer.style, s,
"given null feature style, uses layer style");
feature.style = 'exists';
layer.style = 'exists';
var customStyle = 'custom';
layer.drawFeature(feature, customStyle);
t.eq(customStyle, s,
"given a custom style, renders with that");
}
function test_Layer_Vector_eraseFeatures(t) {
t.plan(2);
var layer = new OpenLayers.Layer.Vector("Test Layer");
var map = new OpenLayers.Map('map');
map.addLayer(layer);
var geometry = new OpenLayers.Geometry.Point(10, 10);
var feature = new OpenLayers.Feature.Vector(geometry);
var f;
layer.renderer = {
eraseFeatures: function(features) {
f = features[0];
}
};
layer.eraseFeatures([feature]);
t.ok(f, "calls layer.renderer.eraseFeatures");
t.ok(geometry.equals(f.geometry),
"calls layer.renderer.eraseFeatures() given an array of features");
}
function test_Layer_Vector_destroyFeatures (t) {
t.plan(2);
t.plan(3);
layer = new OpenLayers.Layer.Vector(name);
var map = new OpenLayers.Map('map');
map.addLayer(layer);
@@ -68,8 +133,10 @@
}
layer.addFeatures(features);
t.eq(layer.features.length, 5, "addFeatures adds 5 features");
layer.selectedFeatures.push(features[0]);
layer.destroyFeatures();
t.eq(layer.features.length, 0, "destroyFeatures triggers removal");
t.eq(layer.selectedFeatures, [], "Destroy features removes selected features");
}
function test_99_Layer_Vector_destroy (t) {
+37
View File
@@ -0,0 +1,37 @@
<html>
<head>
<script src="../../lib/OpenLayers.js"></script>
<script type="text/javascript"><!--
var name = "Vector Layer";
function test_01_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_02_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.");
}
// -->
</script>
</head>
<body>
<div id="map" style="width:500px;height:550px"></div>
</body>
</html>