~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to gis/dhis-gis-geostat/mfbase/mapfish/tests/core/test_PrintProtocol.html

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html>
 
2
<html debug="true">
 
3
  <head>
 
4
    <script type="text/javascript" src="../../../openlayers/lib/Firebug/firebug.js"></script>
 
5
    <script type="text/javascript" src="../../../openlayers/lib/OpenLayers.js"></script>
 
6
 
 
7
    <script type="text/javascript" src="../../../ext/adapter/ext/ext-base.js"></script>
 
8
    <script type="text/javascript" src="../../../ext/ext-all-debug.js"></script>
 
9
 
 
10
    <script type="text/javascript">
 
11
      // Because of a bug in Firefox 2 we need to specify the MapFish base path.
 
12
      // See https://bugzilla.mozilla.org/show_bug.cgi?id=351282
 
13
      var gMfLocation = "../../../mapfish/";
 
14
    </script>
 
15
    <script type="text/javascript" src="../../../mapfish/MapFish.js"></script>
 
16
 
 
17
    <script type="text/javascript"><!--
 
18
 
 
19
    function test_PrintProtocol_addMapParams_WMS(t) {
 
20
        t.plan(3);
 
21
 
 
22
        var map = new OpenLayers.Map('map');
 
23
        var wms = new OpenLayers.Layer.WMS("WMS",
 
24
              "http://labs.metacarta.com/wms/vmap0", {layers: 'basic,toto', styles: 's1,s2', foo: 'bar'}, {buffer: 0});
 
25
        map.addLayers([wms]);
 
26
 
 
27
        var json = new OpenLayers.Format.JSON();
 
28
 
 
29
        var print = new mapfish.PrintProtocol(map, "/print.pdf", {}, 100);
 
30
        var expected={
 
31
          "pages": [],
 
32
          dpi: 100,
 
33
          "units":"degrees",
 
34
          "srs":"EPSG:4326",
 
35
          "layers":[
 
36
            {
 
37
              "baseURL":"http://labs.metacarta.com/wms/vmap0",
 
38
              "opacity": 1,
 
39
              "singleTile": false,
 
40
              customParams: {FOO: 'bar'},
 
41
              "type":"WMS",
 
42
              "layers":["basic", "toto"],
 
43
              "format":wms.DEFAULT_PARAMS.format,
 
44
              styles: ['s1', 's2']
 
45
            }
 
46
          ]
 
47
        };
 
48
        t.eq(json.write(print.spec), json.write(expected), "Results without overrides");
 
49
 
 
50
        var layerOverrides={
 
51
          "WMS":{
 
52
            format: "image/svg+xml",
 
53
            FOO: 'nope'
 
54
          }
 
55
        }
 
56
        print = new mapfish.PrintProtocol(map, "/print.pdf", layerOverrides, 100);
 
57
        expected.layers[0].format="image/svg+xml";
 
58
        expected.layers[0].customParams.FOO="nope";
 
59
        t.eq(json.write(print.spec), json.write(expected), "Result with overrides");
 
60
 
 
61
        layerOverrides.WMS[100]={baseURL:'toto'};
 
62
        print = new mapfish.PrintProtocol(map, "/print.pdf", layerOverrides, 100);
 
63
        expected.layers[0].baseURL="toto";
 
64
        t.eq(json.write(print.spec), json.write(expected), "Result with DPI specific overrides");
 
65
    }
 
66
 
 
67
 
 
68
    function test_PrintProtocol_addMapParams_2WMS(t) {
 
69
        t.plan(3);
 
70
 
 
71
        var map = new OpenLayers.Map('map');
 
72
        var wms = new OpenLayers.Layer.WMS("WMS",
 
73
              "http://labs.metacarta.com/wms/vmap0", {layers: 'basic,toto'}, {buffer: 0});
 
74
        var wms2 = new OpenLayers.Layer.WMS("WMS2",
 
75
              "http://labs.metacarta.com/wms/vmap0", {layers: ['tutu','titi'], format: 'image/png', foo: 'bar'}, {buffer: 0, isBaseLayer: false, visibility: false});
 
76
        map.addLayers([wms, wms2]);
 
77
 
 
78
        var json = new OpenLayers.Format.JSON();
 
79
 
 
80
        var print = new mapfish.PrintProtocol(map, "/print.pdf", {}, 100);
 
81
        var expected={
 
82
          "pages": [],
 
83
          dpi: 100,
 
84
          "units":"degrees",
 
85
          "srs":"EPSG:4326",
 
86
          "layers":[
 
87
            {
 
88
              "baseURL":"http://labs.metacarta.com/wms/vmap0",
 
89
              "opacity": 1,
 
90
              "singleTile": false,
 
91
              "customParams":{},
 
92
              "type":"WMS",
 
93
              "layers":["basic", "toto"],
 
94
              "format":wms.DEFAULT_PARAMS.format,
 
95
              "styles":[]
 
96
            }
 
97
          ]
 
98
        };
 
99
        t.eq(json.write(print.spec), json.write(expected), "Results with two layers (only one visible)");
 
100
 
 
101
        wms2.setVisibility(true);
 
102
        print = new mapfish.PrintProtocol(map, "/print.pdf", {'WMS2': {visibility: false}}, 100);
 
103
        t.eq(json.write(print.spec), json.write(expected), "Results with two layers (only one visible, the other disabled by override)");
 
104
 
 
105
        wms2.setVisibility(true);
 
106
        print = new mapfish.PrintProtocol(map, "/print.pdf", {}, 100);
 
107
        expected.layers.push({
 
108
          "baseURL":"http://labs.metacarta.com/wms/vmap0",
 
109
          "opacity": 1,
 
110
          "singleTile": false,
 
111
          "customParams":{
 
112
            FOO:'bar'   //I don't know why, but OL makes the name uppercase
 
113
          },
 
114
          "type":"WMS",
 
115
          "layers":["tutu", "titi"],
 
116
          "format":"image/png",
 
117
          "styles":[]
 
118
        });
 
119
        t.eq(json.write(print.spec), json.write(expected), "Results with two layers (two visible)");
 
120
    }
 
121
 
 
122
 
 
123
    function test_PrintProtocol_vectorStyles(t) {
 
124
        t.plan(1);
 
125
 
 
126
        var map = new OpenLayers.Map('map');
 
127
        var vector = new OpenLayers.Layer.Vector("Vector", {
 
128
            isBaseLayer: true
 
129
        });
 
130
        map.addLayers([vector]);
 
131
        var style1={toto:1};
 
132
        var feature1 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0,0), {}, style1);
 
133
        var feature2 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,0), {}, style1);
 
134
        feature1.id="toto";
 
135
        feature2.id="titi";
 
136
        vector.addFeatures([
 
137
            feature1,
 
138
            feature2
 
139
        ]);
 
140
 
 
141
        var json = new OpenLayers.Format.JSON();
 
142
 
 
143
        var print = new mapfish.PrintProtocol(map, "/print.pdf", {}, 100);
 
144
        var expected = {
 
145
            "pages": [],
 
146
            dpi: 100,
 
147
            "units":"degrees",
 
148
            "srs":"EPSG:4326",
 
149
            "layers":[{
 
150
                "opacity":1,
 
151
                "customParams":{},
 
152
                "type":"Vector",
 
153
                "styles":{
 
154
                    "1":{"toto":1}
 
155
                },
 
156
                "styleProperty":"_style",
 
157
                "geoJson":{
 
158
                    "type":"FeatureCollection",
 
159
                    "features":[{
 
160
                        "type":"Feature",
 
161
                        "id":"toto",
 
162
                        "properties":{"_style":1},
 
163
                        "geometry":{
 
164
                            "type":"Point",
 
165
                            "coordinates":[0,0]
 
166
                        }
 
167
                    },{
 
168
                        "type":"Feature",
 
169
                        "id":"titi",
 
170
                        "properties":{"_style":1},
 
171
                        "geometry":{
 
172
                            "type":"Point",
 
173
                            "coordinates":[1,0]
 
174
                        }
 
175
                    }]
 
176
                }
 
177
            }]
 
178
        };
 
179
        t.eq(json.write(print.spec), json.write(expected), "same style");
 
180
    }
 
181
 
 
182
    function test_PrintProtocol_MapServer(t) {
 
183
        t.plan(1);
 
184
 
 
185
        var map = new OpenLayers.Map('map');
 
186
        var mapServer = new OpenLayers.Layer.MapServer("MapServer",
 
187
              "http://labs.metacarta.com/wms/vmap0", {layers: 'basic,toto'}, {buffer: 0});
 
188
        var mapServer2 = new OpenLayers.Layer.MapServer.Untiled("MapServer2",
 
189
              "http://labs.metacarta.com/wms/vmap1", {layers: 'basic1,toto1'}, {buffer: 0, isBaseLayer: false});
 
190
        map.addLayers([mapServer, mapServer2]);
 
191
 
 
192
        var json = new OpenLayers.Format.JSON();
 
193
 
 
194
        var print = new mapfish.PrintProtocol(map, "/print.pdf", {}, 100);
 
195
        var expected = {
 
196
            "pages":[],
 
197
            "dpi":100,
 
198
            "units":"degrees",
 
199
            "srs":"EPSG:4326",
 
200
            "layers":[
 
201
                {
 
202
                    "baseURL":"http://labs.metacarta.com/wms/vmap0",
 
203
                    "opacity":1,
 
204
                    "singleTile":false,
 
205
                    "customParams":{},
 
206
                    "type":"MapServer",
 
207
                    "layers":["basic","toto"]
 
208
                },{
 
209
                    "baseURL":"http://labs.metacarta.com/wms/vmap1",
 
210
                    "opacity":1,
 
211
                    "singleTile":true,
 
212
                    "customParams":{},
 
213
                    "type":"MapServer",
 
214
                    "layers":["basic1","toto1"]
 
215
                }
 
216
            ]
 
217
        };
 
218
        t.eq(json.write(print.spec), json.write(expected), "simple MapServer config");
 
219
    }
 
220
    --></script>
 
221
 
 
222
  </head>
 
223
  <body>
 
224
    <div id="map"></div>
 
225
  </body>
 
226
</html>