source: ether_iasi/trunk/web/resources/js/OpenLayers-2.12/tests/Layer/Bing.html @ 738

Last change on this file since 738 was 738, checked in by vmipsl, 11 years ago

OpenLayers?

File size: 5.3 KB
Line 
1<html>
2<head>
3  <script src="../OLLoader.js"></script>
4  <script type="text/javascript">
5    var map, layer; 
6
7    var layerType = 'Aerial';
8    var key = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";
9   
10    var options = {
11        type: layerType,
12        key: key
13    };
14
15    function test_constructor(t) {
16        t.plan(3);
17                       
18        var origProcessMetadata = OpenLayers.Layer.Bing.processMetadata;
19        var log = [];
20        OpenLayers.Layer.Bing.processMetadata = function(metadata) {
21            var script = document.getElementById(this._callbackId);
22            log.push(script.src);
23            origProcessMetadata.apply(this, arguments);
24        };
25        layer = new OpenLayers.Layer.Bing(OpenLayers.Util.extend({
26            metadataParams: {foo: "bar"}
27        }, options));
28        t.ok(layer instanceof OpenLayers.Layer.Bing, "returns OpenLayers.Layer.Bing object" );
29        t.delay_call(5, function() {
30            t.eq(log.length, 1, "processMetadata called");
31            t.eq(OpenLayers.Util.getParameters(log[0]).foo, "bar", "metadataParams passed to url correctly.");
32            OpenLayers.Layer.Bing.processMetadata = origProcessMetadata;
33            layer.destroy();
34        });
35    }
36   
37    function test_initLayer(t) {
38        t.plan(2);
39
40        var meta = [];
41        var origProcessMetadata = OpenLayers.Layer.Bing.processMetadata;
42        OpenLayers.Layer.Bing.processMetadata = function(metadata) {
43            meta.push(metadata);
44        };
45        map = new OpenLayers.Map("map");
46        layer = new OpenLayers.Layer.Bing(options);
47        var extent;
48        map.addLayers([layer, new OpenLayers.Layer(null, {
49            moveTo: function(bounds, changed) {
50                extent = bounds;
51            }
52        })]);
53        map.zoomToMaxExtent();
54       
55        var map2 = new OpenLayers.Map("map");
56        var layer2 = new OpenLayers.Layer.Bing(OpenLayers.Util.extend({
57            initLayer: function() {
58                // pretend we have a zoomMin of 2
59                this.metadata.resourceSets[0].resources[0].zoomMin = 2;
60                OpenLayers.Layer.Bing.prototype.initLayer.apply(this, arguments);
61            }
62        }, options));
63        var extent2;
64        map2.addLayers([layer2, new OpenLayers.Layer(null, {
65            moveTo: function(bounds, changed) {
66                extent2 = bounds;
67            }
68        })]);
69        map2.zoomToMaxExtent();
70       
71        t.delay_call(5, function() {
72            origProcessMetadata.call(layer, meta[0]);
73            t.eq(extent.toBBOX(), map.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 1.");
74            map.destroy();
75        });
76
77        t.delay_call(6, function() {
78            origProcessMetadata.call(layer2, meta[1]);
79            t.eq(extent2.toBBOX(), map2.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 2.");
80            map2.destroy();
81            OpenLayers.Layer.Bing.processMetadata = origProcessMetadata;
82        });
83    }
84   
85    function test_attribution(t) {
86        t.plan(3);
87       
88        var log = [];
89        var map = new OpenLayers.Map("map");
90        layer = new OpenLayers.Layer.Bing(options);
91        map.addLayer(layer);
92        map.zoomToMaxExtent();
93       
94        t.delay_call(2, function() {
95            t.ok(layer.attribution.indexOf('olBingAttribution aerial') !== -1, "Attribution has the correct css class");
96            t.ok(layer.attribution.indexOf('<img src="">') == -1, "Attribution contains a logo");
97            t.ok(layer.attribution.indexOf('</img></div></a><a style=') == -1 , "Attribution contains a copyright");
98            map.destroy();
99        });
100    }
101
102    function test_attribution_notempty(t) {
103        t.plan(1);
104       
105        var log = [];
106        var map = new OpenLayers.Map("map");
107        layer = new OpenLayers.Layer.Bing(OpenLayers.Util.applyDefaults({type: 'Road'}, options));
108        map.addLayer(layer);
109        var format = OpenLayers.String.format;
110        OpenLayers.String.format = function(tpl, options) {
111            log.push(options.copyrights);
112        }
113        map.zoomToExtent(new OpenLayers.Bounds(-14768652, 4492113, -12263964, 5744457));
114        t.delay_call(2, function() {
115            t.ok(log.join("") !== "", "Copyright not empty");
116            OpenLayers.String.format = format;
117            map.destroy();
118        });
119    }
120   
121    function test_getXYZ(t) {
122        t.plan(1);
123       
124        var map = new OpenLayers.Map("map", {allOverlays: true});
125        var osm = new OpenLayers.Layer.OSM();
126        map.addLayer(osm);
127        map.zoomToExtent(new OpenLayers.Bounds(11373579,-2445208,13628777,680760));
128        layer = new OpenLayers.Layer.Bing(options);
129        map.addLayer(layer);
130       
131        t.delay_call(2, function() {
132            var xyz = layer.getXYZ(layer.getTileBounds(new OpenLayers.Pixel(1,1)));
133            t.eq(xyz.z, OpenLayers.Util.indexOf(layer.serverResolutions, map.getResolution()), "zoom level correct");
134        });
135    }
136
137    function test_clone(t) {
138        t.plan(1);
139       
140        var clone;
141       
142        layer = new OpenLayers.Layer.Bing(options);
143        clone = layer.clone();
144        t.ok(clone instanceof OpenLayers.Layer.Bing, "clone is a Layer.Bing instance");
145    }
146
147  </script>
148</head>
149<body>
150<div id="map" style="width:500px;height:550px"></div>
151</body>
152</html>
Note: See TracBrowser for help on using the repository browser.