Files
openlayers/tests/Control/test_Scale.html
crschmidt f505542fbe "The Permalink control passes an element as the first parameter, however, the
initialize.apply is called with the arguments object, which causes an error if
an element is passed into the control." Also applied to Scale. Now fixed
with review from e-dog. (Closes #978) Fixes the only problem I found with 
migrating the Boston freemap to 2.5.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@4333 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-16 15:59:11 +00:00

55 lines
2.4 KiB
HTML

<html>
<head>
<script src="../../lib/OpenLayers.js"></script>
<script type="text/javascript"><!--
var map;
function test_01_Control_Scale_constructor (t) {
t.plan( 2 );
control = new OpenLayers.Control.Scale();
t.ok( control instanceof OpenLayers.Control.Scale, "new OpenLayers.Control returns object" );
t.eq( control.displayClass, "olControlScale", "displayClass is correct" );
}
function test_02_Control_Scale_initwithelem (t) {
t.plan( 1 );
control = new OpenLayers.Control.Scale(OpenLayers.Util.getElement('scale'));
t.ok(true, "If this happens, then we passed. (FF throws an error above otherwise)");
}
function test_02_Control_Scale_updateScale (t) {
t.plan( 4 );
control = new OpenLayers.Control.Scale('scale');
t.ok( control instanceof OpenLayers.Control.Scale, "new OpenLayers.Control returns object" );
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS('Test Layer', "http://octo.metacarta.com/cgi-bin/mapserv", {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'});
map.addLayer(layer);
map.zoomTo(0);
map.addControl(control);
t.eq(OpenLayers.Util.getElement('scale').innerHTML, "Scale = 1 : 443M", "Scale set by default." );
map.zoomIn();
t.eq(OpenLayers.Util.getElement('scale').innerHTML, "Scale = 1 : 221M", "Zooming in changes scale" );
map.baseLayer.resolutions = [OpenLayers.Util.getResolutionFromScale(110)];
map.zoomTo(0);
t.eq(OpenLayers.Util.getElement('scale').innerHTML, "Scale = 1 : 110", "Scale of 100 isn't rounded" );
}
function test_03_Control_Scale_internalScale (t) {
t.plan(2);
control = new OpenLayers.Control.Scale();
t.ok( control instanceof OpenLayers.Control.Scale, "new OpenLayers.Control returns object" );
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS('Test Layer', "http://octo.metacarta.com/cgi-bin/mapserv", {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'});
map.addLayer(layer);
map.zoomTo(0);
map.addControl(control);
t.eq(control.div.firstChild.innerHTML, "Scale = 1 : 443M", "Internal scale displayed properly.");
}
// -->
</script>
</head>
<body>
<a id="scale" href="">Scale</a> <br />
<div id="map" style="width: 1024px; height: 512px;"/>
</body>
</html>