OpenLayers OpenLayers

Ticket #751: test_Label.html

File test_Label.html, 4.5 kB (added by jachym, 1 year ago)

Tests for OpenLayers.Marker.Label

Line 
1 <html>
2 <head>
3     <script src="../../lib/OpenLayers.js"></script>
4   <script type="text/javascript">
5
6     var marker;
7
8     function test_01_Label_constructor (t) {
9         t.plan( 3 );
10         var ll = new OpenLayers.LonLat(2,1);
11         var myLabel ="Hallo, world!";
12         marker = new OpenLayers.Marker.Label(ll,new OpenLayers.Icon(),myLabel);
13
14         t.ok( marker instanceof OpenLayers.Marker.Label, "new OpenLayers.Marker returns Marker object" );
15         t.ok( marker.label == myLabel, "marker.label returns correct" );
16         t.ok( marker.labelDiv.innerHTML == myLabel, "marker.labelDiv returns correct" );
17     }
18
19     function test_02_Label_onScreen(t) {
20         t.plan( 2 );
21
22         var map = new OpenLayers.Map("map");
23
24         var url = "http://octo.metacarta.com/cgi-bin/mapserv";
25         layer = new OpenLayers.Layer.WMS(name, url);
26
27         map.addLayer(layer);
28        
29         mlayer = new OpenLayers.Layer.Markers('Test Layer');
30         map.addLayer(mlayer);
31                
32         map.zoomToExtent(new OpenLayers.Bounds(-50,-50,50,50));
33
34         //onscreen marker
35         var ll = new OpenLayers.LonLat(0,0);
36         var myLabel = "Hallo, world!";
37         var marker = new OpenLayers.Marker.Label(ll,null,myLabel);
38         mlayer.addMarker(marker);
39        
40         t.ok( marker.onScreen(), "marker knows it's onscreen" );
41
42         //offscreen marker
43         var ll = new OpenLayers.LonLat(100,100);
44         var myLabel = "Hallo, world, again!"
45         var marker2 = new OpenLayers.Marker.Label(ll,null,myLabel);
46         mlayer.addMarker(marker2);
47
48         t.ok( !marker2.onScreen(), "marker knows it's offscreen" );
49         map.destroy();
50     }
51
52     function test_03_Label_mouseOver(t) {
53         t.plan( 9 );
54        
55         var map = new OpenLayers.Map("map");
56
57         var url = "http://octo.metacarta.com/cgi-bin/mapserv";
58         layer = new OpenLayers.Layer.WMS(name, url);
59
60         map.addLayer(layer);
61        
62         mlayer = new OpenLayers.Layer.Markers('Test Layer');
63         map.addLayer(mlayer);
64                
65         map.zoomToExtent(new OpenLayers.Bounds(-50,-50,50,50));
66
67         //onscreen marker
68         var ll = new OpenLayers.LonLat(0,0);
69         var myLabel = "Hallo world!";
70         var options = {"mouseOver":true};
71         var marker = new OpenLayers.Marker.Label(ll,null,myLabel,options);
72         mlayer.addMarker(marker);
73
74         // attribute
75         t.ok(marker.mouseOver, true, "marker attribute mouseOver ok");
76
77         // test init
78         t.eq(marker.mouseover, false, "marker mouse event mouse over ok");
79         t.eq(marker.labelDiv.style.display, "none", "label is not seen ok");
80
81         // test mouse over
82         marker.events.triggerEvent("mouseover",marker);
83         t.eq(marker.labelDiv.style.display, "block", "label is seen ok");
84         t.ok(marker.mouseover, true, "mouseover attribute of marker ok");
85
86         // still mouse over
87         marker.events.triggerEvent("mouseover",marker);
88         t.eq(marker.labelDiv.style.display, "block", "label is still seen ok");
89         t.ok(marker.mouseover, true, "mouseover attribute of marker ok");
90
91         // mouse out
92         marker.events.triggerEvent("mouseout",marker);
93         t.eq(marker.labelDiv.style.display, "none", "label disappeared ok");
94         t.eq(marker.mouseover, false, "mouseover attribute of marker ok");
95
96         map.destroy();
97     }
98
99     function test_04_Label_ChangeContent(t) {
100         t.plan( 4 );
101        
102         var map = new OpenLayers.Map("map");
103
104         var url = "http://octo.metacarta.com/cgi-bin/mapserv";
105         layer = new OpenLayers.Layer.WMS(name, url);
106
107         map.addLayer(layer);
108        
109         mlayer = new OpenLayers.Layer.Markers('Test Layer');
110         map.addLayer(mlayer);
111                
112         map.zoomToExtent(new OpenLayers.Bounds(-50,-50,50,50));
113
114         //onscreen marker
115         var ll = new OpenLayers.LonLat(0,0);
116         var myFirstLabel = "Hallo world!";
117         var mySecondLabel = "Hallo, world, again!";
118         var options = {"mouseOver":true};
119         var marker = new OpenLayers.Marker.Label(ll,null,myFirstLabel,options);
120
121         mlayer.addMarker(marker);
122
123         // init
124         t.ok(marker.label == myFirstLabel, "label is set");
125         t.ok(marker.labelDiv.innerHTML == myFirstLabel, "label div is set");
126
127         // change label
128         marker.setLabel(mySecondLabel);
129         t.ok(marker.label == mySecondLabel, "label is set");
130         t.ok(marker.labelDiv.innerHTML == mySecondLabel, "label div is set");
131
132         map.destroy();
133     }
134
135   </script>
136 </head>
137 <body>
138     <div id="map" style="width:500px;height:550px"></div>
139 </body>
140 </html>