Project

General

Profile

1
<html>
2
<head>
3
  <script src="../lib/OpenLayers.js"></script>
4
  <script type="text/javascript"><!--
5
    var layer; 
6

    
7
    function test_01_Layer_constructor (t) {
8
        t.plan( 14 );
9
        
10
        var options = { chicken: 151, foo: "bar", projection: "none" };
11
        var layer = new OpenLayers.Layer('Test Layer', options);
12
        
13
        t.ok( layer instanceof OpenLayers.Layer, "new OpenLayers.Layer returns object" );
14
        t.eq( layer.CLASS_NAME, "OpenLayers.Layer", "CLASS_NAME variable set correctly");
15

    
16
        t.eq( layer.name, "Test Layer", "layer.name is correct" );
17
        t.ok( layer.id != null, "Layer is given an id");
18
        t.ok( layer.id.startsWith("Layer_"), "layer id starts correctly");
19
        t.ok( layer.projection, "none", "default layer projection correctly set");
20
        t.ok( ((layer.chicken == 151) && (layer.foo == "bar")), "layer.options correctly set to Layer Object" );
21
        t.ok( ((layer.options["chicken"] == 151) && (layer.options["foo"] == "bar")), "layer.options correctly backed up" );
22

    
23
        options.chicken = 552;
24
        
25
        t.eq( layer.options["chicken"], 151 , "layer.options correctly made fresh copy" );
26
        
27
        t.eq( layer.isBaseLayer, false, "Default layer is not base layer" );
28

    
29
        layer = new OpenLayers.Layer('Test Layer');
30
        t.ok( layer instanceof OpenLayers.Layer, "new OpenLayers.Layer returns object" );
31
        t.eq( layer.name, "Test Layer", "layer.name is correct" );
32
        t.ok( layer.projection == null, "default layer projection correctly set");
33
        t.ok( layer.options instanceof Object, "layer.options correctly initialized as a non-null Object" );
34
    }
35

    
36
    function test_02_Layer_clone (t) {
37
        t.plan( 6 );
38
        
39
        var map = new OpenLayers.Map('map'); 
40
        var options = { chicken: 151, foo: "bar" };
41
        var layer = new OpenLayers.Layer('Test Layer', options);
42
        map.addLayer(layer);
43

    
44
        // randomly assigned property
45
        layer.chocolate = 5;
46

    
47
        var clone = layer.clone();
48

    
49
        t.ok( clone instanceof OpenLayers.Layer, "new OpenLayers.Layer returns object" );
50
        t.eq( clone.name, "Test Layer", "default clone.name is correct" );
51
        t.ok( ((clone.options["chicken"] == 151) && (clone.options["foo"] == "bar")), "clone.options correctly set" );
52
        t.eq(clone.chocolate, 5, "correctly copied randomly assigned property");
53

    
54
        layer.addOptions({chicken:152});
55
        t.eq(clone.options["chicken"], 151, "made a clean copy of options");        
56

    
57
        
58
        t.ok( clone.map == null, "cloned layer has map property set to null")
59
        
60
    }
61

    
62
    function test_03_Layer_setName (t) {
63
        
64
        t.plan( 1 );
65

    
66
        layer = new OpenLayers.Layer('Test Layer');
67
        layer.setName("chicken");
68
        
69
        t.eq(layer.name, "chicken", "setName() works")
70
        
71
    }
72

    
73
    function test_04_Layer_addOptions (t) {
74
        
75
        t.plan( 4 );
76

    
77
        var options = { chicken: 151, foo: "bar" };
78
        var layer = new OpenLayers.Layer('Test Layer', options);
79

    
80
        layer.addOptions({bark:55, chicken: 171});
81

    
82
        t.eq(layer.bark, 55, "addOptions() assigns new option correctly to Layer");
83
        t.eq(layer.options.bark, 55, "addOptions() adds new option correctly to backup");
84

    
85
        t.eq(layer.chicken, 171, "addOptions() overwrites option correctly to Layer");
86
        t.eq(layer.options.chicken, 171, "addOptions() overwrites option correctly to backup");
87

    
88
    }
89
    
90
    function test_04_Layer_StandardOptionsAccessors (t) {
91

    
92
        t.plan( 4 );
93

    
94
        var projection = "chicken";
95
        var maxExtent = new OpenLayers.Bounds(50,50,100,100);
96
        var maxResolution = 1.5726;
97
        var numZoomLevels = 11;
98

    
99
        var options = { projection: projection, 
100
                        maxExtent: maxExtent,
101
                        maxResolution: maxResolution,
102
                        numZoomLevels: numZoomLevels
103
                        };
104

    
105
        var layer = new OpenLayers.Layer('Test Layer', options);
106

    
107
        t.eq(layer.getProjection(), projection, "getProjection() works");
108
        t.ok(layer.getMaxExtent().equals(maxExtent), "getMaxExtent() works");
109
        t.eq(layer.getMaxResolution(), maxResolution, "getMaxResolution() works");
110
        t.eq(layer.getNumZoomLevels(), numZoomLevels, "getNumZoomLevels() works");
111
    }
112

    
113
    function test_05_Layer_visibility(t) {
114

    
115
        t.plan(3)
116

    
117
        var layer = new OpenLayers.Layer('Test Layer');
118
    
119
        t.eq(layer.getVisibility(), true, "default for layer creation is visible");
120
        
121
        layer.setVisibility(false);
122
        t.eq(layer.getVisibility(), false, "setVisibility false works");
123

    
124
        layer.setVisibility(true);
125
        t.eq(layer.getVisibility(), true, "setVisibility true works");
126
    
127
    }
128

    
129

    
130
/******
131
 * 
132
 * 
133
 * HERE IS WHERE SOME TESTS SHOULD BE PUT TO CHECK ON THE LONLAT-PX TRANSLATION
134
 * FUNCTIONS AND RESOLUTION AND GETEXTENT GETZOOMLEVEL, ETC
135
 * 
136
 * 
137
 */
138

    
139

    
140
    function test_99_Layer_destroy (t) {
141
        t.plan( 4 );    
142

    
143
        var map = new OpenLayers.Map('map');
144
        
145
        layer = new OpenLayers.Layer('Test Layer');
146

    
147
        map.addLayer(layer);
148

    
149
        layer.destroy();
150

    
151
        t.eq( layer.name, null, "layer.name is null after destroy" );
152
        t.eq( layer.div, null, "layer.div is null after destroy" );
153
        t.eq( layer.map, null, "layer.map is null after destroy" );
154
        t.eq( layer.options, null, "layer.options is null after destroy" );
155

    
156
    }
157
  // -->
158
  </script>
159
</head>
160
<body>
161
  <div id="map"></div>
162
</body>
163
</html>
(16-16/35)