apply patch-3531-A0.diff from trac ticket #3531
This commit is contained in:
@@ -624,6 +624,195 @@
|
||||
t.eq( layer.tileSize, null, "layer.tileSize is null after destroy" );
|
||||
}
|
||||
|
||||
function test_getServerResolution(t) {
|
||||
|
||||
t.plan(4);
|
||||
|
||||
var layer = new OpenLayers.Layer.Grid('', '', {}, {});
|
||||
var res;
|
||||
|
||||
res = layer.getServerResolution(1);
|
||||
t.eq(res, 1, '[1] getServerResolution return value is correct');
|
||||
|
||||
layer.serverResolutions = [2, 1];
|
||||
res = layer.getServerResolution(1);
|
||||
t.eq(res, 1, '[2] getServerResolution return value is correct');
|
||||
|
||||
layer.serverResolutions = [2];
|
||||
res = layer.getServerResolution(1);
|
||||
t.eq(res, 2, '[3] getServerResolution return value is correct');
|
||||
|
||||
var exc;
|
||||
layer.serverResolutions = [0.5];
|
||||
try {
|
||||
res = layer.getServerResolution(1);
|
||||
} catch(e) {
|
||||
exc = e;
|
||||
}
|
||||
t.ok(exc != undefined, '[4] getServerResolution generates exception');
|
||||
}
|
||||
|
||||
function test_getServerZoom(t) {
|
||||
|
||||
t.plan(5);
|
||||
|
||||
var resolution, zoom;
|
||||
var map = new OpenLayers.Map('map', {
|
||||
resolutions: [8, 4, 2, 1, 0.5],
|
||||
getResolution: function() {
|
||||
return resolution;
|
||||
}
|
||||
});
|
||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {isBaseLayer: true});
|
||||
map.addLayer(layer);
|
||||
|
||||
resolution = 8;
|
||||
zoom = layer.getServerZoom();
|
||||
t.eq(zoom, 0, '[1] getServerZoom return value is correct');
|
||||
|
||||
resolution = 4;
|
||||
zoom = layer.getServerZoom();
|
||||
t.eq(zoom, 1, '[2] getServerZoom return value is correct');
|
||||
|
||||
layer.serverResolutions = [2, 1];
|
||||
resolution = 1;
|
||||
zoom = layer.getServerZoom();
|
||||
t.eq(zoom, 3, '[3] getServerZoom return value is correct');
|
||||
|
||||
layer.serverResolutions = [2];
|
||||
resolution = 0.5;
|
||||
zoom = layer.getServerZoom();
|
||||
t.eq(zoom, 2, '[4] getServerZoom return value is correct');
|
||||
|
||||
var exc;
|
||||
layer.serverResolutions = [0.5];
|
||||
resolution = 1;
|
||||
try {
|
||||
zoom = layer.getServerZoom();
|
||||
} catch(e) {
|
||||
exc = e;
|
||||
}
|
||||
t.ok(exc != undefined, '[4] getServerZoom generates exception');
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_moveTo_scale(t) {
|
||||
|
||||
t.plan(11);
|
||||
|
||||
var map = new OpenLayers.Map('map', {
|
||||
resolutions: [32, 16, 8, 4, 2, 1]
|
||||
});
|
||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||
isBaseLayer: true,
|
||||
serverResolutions: [32, 16, 8]
|
||||
});
|
||||
map.addLayer(layer);
|
||||
|
||||
// initial resolution is 8
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 2);
|
||||
|
||||
// test initial conditions
|
||||
t.eq(layer.div.style.width, '100%', 'layer div scale is 1');
|
||||
|
||||
// change from resolution 8 to 4
|
||||
map.zoomTo(3);
|
||||
t.eq(layer.div.style.width, '200%', '[8->4] layer div scale is 2');
|
||||
|
||||
// change from resolution 8 to 2
|
||||
map.zoomTo(2); map.zoomTo(4);
|
||||
t.eq(layer.div.style.width, '400%', '[8->2] layer div scale is 4');
|
||||
|
||||
// change from resolution 8 to 1
|
||||
map.zoomTo(2); map.zoomTo(5);
|
||||
t.eq(layer.div.style.width, '800%', '[8->1] layer div scale is 8');
|
||||
|
||||
// change from resolution 4 to 2
|
||||
map.zoomTo(3); map.zoomTo(4);
|
||||
t.eq(layer.div.style.width, '400%', '[4->2] layer div scale is 4');
|
||||
|
||||
// change from resolution 4 to 1
|
||||
map.zoomTo(3); map.zoomTo(5);
|
||||
t.eq(layer.div.style.width, '800%', '[4->1] layer div scale is 8');
|
||||
|
||||
// change from resolution 2 to 1
|
||||
map.zoomTo(4); map.zoomTo(5);
|
||||
t.eq(layer.div.style.width, '800%', '[2->1] layer div scale is 8');
|
||||
|
||||
// change from resolution 1 to 2
|
||||
map.zoomTo(5); map.zoomTo(4);
|
||||
t.eq(layer.div.style.width, '400%', '[1->2] layer div scale is 4');
|
||||
|
||||
// change from resolution 1 to 4
|
||||
map.zoomTo(5); map.zoomTo(3);
|
||||
t.eq(layer.div.style.width, '200%', '[1->4] layer div scale is 2');
|
||||
|
||||
// change from resolution 1 to 8
|
||||
map.zoomTo(5); map.zoomTo(2);
|
||||
t.eq(layer.div.style.width, '100%', '[1->8] layer div scale is 1');
|
||||
|
||||
// change from resolution 1 to 16
|
||||
map.zoomTo(5); map.zoomTo(1);
|
||||
t.eq(layer.div.style.width, '100%', '[1->16] layer div scale is 1');
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_transformDiv(t) {
|
||||
|
||||
t.plan(8);
|
||||
|
||||
var map = new OpenLayers.Map('map4');
|
||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||
isBaseLayer: true
|
||||
});
|
||||
map.addLayer(layer);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
// the layer container's dimensions are 100px width 100px height
|
||||
// the position of the viewport center is 384, 256
|
||||
|
||||
layer.transformDiv(2);
|
||||
|
||||
t.eq(layer.div.style.width, '200%', '[1] layer div has correct width');
|
||||
t.eq(layer.div.style.height, '200%', '[1] layer div has correct height');
|
||||
|
||||
t.eq(layer.div.style.left, '-384%', '[1] layer div has correct left');
|
||||
t.eq(layer.div.style.top, '-256%', '[1] layer div has correct top');
|
||||
|
||||
// now move the layer container and test again
|
||||
|
||||
map.layerContainerDiv.style.left = '-1024px';
|
||||
map.layerContainerDiv.style.top = '768px';
|
||||
|
||||
layer.transformDiv(2);
|
||||
|
||||
t.eq(layer.div.style.width, '200%', '[2] layer div has correct width');
|
||||
t.eq(layer.div.style.height, '200%', '[2] layer div has correct height');
|
||||
|
||||
t.eq(layer.div.style.left, '-1408%', '[2] layer div has correct left');
|
||||
t.eq(layer.div.style.top, '512%', '[2] layer div has correct top');
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_getResolutionScale(t) {
|
||||
t.plan(1);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var layer = new OpenLayers.Layer.WMS('', '', {}, {
|
||||
isBaseLayer: true
|
||||
});
|
||||
map.addLayer(layer);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
layer.transformDiv(2);
|
||||
var scale = layer.getResolutionScale();
|
||||
t.eq(scale, 2, 'getResolutionScale returns correct value');
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
@@ -631,5 +820,6 @@
|
||||
<div id="map" style="width:499px;height:549px;display:none"></div>
|
||||
<div id="map2" style="width:500px;height:550px;display:none"></div>
|
||||
<div id="map3" style="width:594px;height:464px;display:none"></div>
|
||||
<div id="map4" style="width:768px;height:512px;display:none"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user