postrunner 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/lib/postrunner/ActivitiesDB.rb +8 -9
  4. data/lib/postrunner/Activity.rb +7 -1
  5. data/lib/postrunner/ActivityView.rb +10 -2
  6. data/lib/postrunner/DataSources.rb +100 -0
  7. data/lib/postrunner/DeviceList.rb +40 -17
  8. data/lib/postrunner/Log.rb +25 -0
  9. data/lib/postrunner/Main.rb +9 -8
  10. data/lib/postrunner/RuntimeConfig.rb +1 -0
  11. data/lib/postrunner/TrackView.rb +39 -62
  12. data/lib/postrunner/version.rb +1 -1
  13. data/misc/openlayers/ol.css +1 -0
  14. data/misc/openlayers/ol.js +948 -0
  15. data/postrunner.gemspec +2 -2
  16. data/spec/PostRunner_spec.rb +22 -23
  17. data/spec/spec_helper.rb +34 -4
  18. metadata +11 -1214
  19. data/misc/openlayers/.gitignore +0 -7
  20. data/misc/openlayers/OpenLayers.debug.js +0 -85622
  21. data/misc/openlayers/OpenLayers.js +0 -1443
  22. data/misc/openlayers/OpenLayers.light.debug.js +0 -37230
  23. data/misc/openlayers/OpenLayers.light.js +0 -592
  24. data/misc/openlayers/OpenLayers.mobile.debug.js +0 -41831
  25. data/misc/openlayers/OpenLayers.mobile.js +0 -681
  26. data/misc/openlayers/apidoc_config/Languages.txt +0 -113
  27. data/misc/openlayers/apidoc_config/Menu.txt +0 -520
  28. data/misc/openlayers/apidoc_config/OL.css +0 -20
  29. data/misc/openlayers/apidoc_config/Topics.txt +0 -105
  30. data/misc/openlayers/art/arrows.svg +0 -127
  31. data/misc/openlayers/art/layer-switcher-maximize.svg +0 -128
  32. data/misc/openlayers/art/layer-switcher-minimize.svg +0 -142
  33. data/misc/openlayers/art/marker.svg +0 -25
  34. data/misc/openlayers/art/measuring-stick-off.svg +0 -36
  35. data/misc/openlayers/art/measuring-stick-on.svg +0 -36
  36. data/misc/openlayers/art/panning-hand-off.svg +0 -44
  37. data/misc/openlayers/art/panning-hand-on.svg +0 -44
  38. data/misc/openlayers/art/slider.svg +0 -71
  39. data/misc/openlayers/art/zoom-world.svg +0 -193
  40. data/misc/openlayers/art/zoombar.svg +0 -73
  41. data/misc/openlayers/authors.txt +0 -56
  42. data/misc/openlayers/build/README.txt +0 -46
  43. data/misc/openlayers/build/build.py +0 -158
  44. data/misc/openlayers/build/buildUncompressed.py +0 -25
  45. data/misc/openlayers/build/closure-compiler/Externs.js +0 -50
  46. data/misc/openlayers/build/full.cfg +0 -14
  47. data/misc/openlayers/build/license.txt +0 -57
  48. data/misc/openlayers/build/light.cfg +0 -32
  49. data/misc/openlayers/build/lite.cfg +0 -17
  50. data/misc/openlayers/build/mobile.cfg +0 -36
  51. data/misc/openlayers/build/tests.cfg +0 -11
  52. data/misc/openlayers/doc_config/Data/ClassHierarchy.nd +0 -0
  53. data/misc/openlayers/doc_config/Data/ConfigFileInfo.nd +0 -0
  54. data/misc/openlayers/doc_config/Data/FileInfo.nd +0 -323
  55. data/misc/openlayers/doc_config/Data/ImageFileInfo.nd +0 -0
  56. data/misc/openlayers/doc_config/Data/ImageReferenceTable.nd +0 -0
  57. data/misc/openlayers/doc_config/Data/IndexInfo.nd +0 -0
  58. data/misc/openlayers/doc_config/Data/PreviousMenuState.nd +0 -0
  59. data/misc/openlayers/doc_config/Data/PreviousSettings.nd +0 -0
  60. data/misc/openlayers/doc_config/Data/SymbolTable.nd +0 -0
  61. data/misc/openlayers/doc_config/Languages.txt +0 -113
  62. data/misc/openlayers/doc_config/Menu.txt +0 -520
  63. data/misc/openlayers/doc_config/OL.css +0 -20
  64. data/misc/openlayers/doc_config/Topics.txt +0 -102
  65. data/misc/openlayers/examples/Jugl.js +0 -8
  66. data/misc/openlayers/examples/KMLParser.html +0 -57
  67. data/misc/openlayers/examples/SLDSelect.html +0 -202
  68. data/misc/openlayers/examples/WMSDescribeLayerParser.html +0 -52
  69. data/misc/openlayers/examples/accelerometer.html +0 -100
  70. data/misc/openlayers/examples/accessible-click-control.html +0 -69
  71. data/misc/openlayers/examples/accessible-click-control.js +0 -199
  72. data/misc/openlayers/examples/accessible-panel.html +0 -130
  73. data/misc/openlayers/examples/accessible-panel.js +0 -64
  74. data/misc/openlayers/examples/accessible.html +0 -167
  75. data/misc/openlayers/examples/all-overlays-google.html +0 -34
  76. data/misc/openlayers/examples/all-overlays-google.js +0 -19
  77. data/misc/openlayers/examples/all-overlays.html +0 -76
  78. data/misc/openlayers/examples/anchor-permalink.html +0 -29
  79. data/misc/openlayers/examples/anchor-permalink.js +0 -13
  80. data/misc/openlayers/examples/animated_panning.html +0 -98
  81. data/misc/openlayers/examples/animator.js +0 -670
  82. data/misc/openlayers/examples/arcgis93rest.html +0 -69
  83. data/misc/openlayers/examples/arcgiscache_ags.html +0 -221
  84. data/misc/openlayers/examples/arcgiscache_direct.html +0 -108
  85. data/misc/openlayers/examples/arcgiscache_jsonp.html +0 -106
  86. data/misc/openlayers/examples/arcims-thematic.html +0 -82
  87. data/misc/openlayers/examples/arcims.html +0 -57
  88. data/misc/openlayers/examples/attribution.html +0 -60
  89. data/misc/openlayers/examples/behavior-fixed-http-gml.html +0 -56
  90. data/misc/openlayers/examples/bing-tiles-restrictedzoom.html +0 -43
  91. data/misc/openlayers/examples/bing-tiles-restrictedzoom.js +0 -37
  92. data/misc/openlayers/examples/bing-tiles.html +0 -39
  93. data/misc/openlayers/examples/bing-tiles.js +0 -31
  94. data/misc/openlayers/examples/bing.html +0 -64
  95. data/misc/openlayers/examples/bootstrap.html +0 -81
  96. data/misc/openlayers/examples/bootstrap.js +0 -31
  97. data/misc/openlayers/examples/boxes-vector.html +0 -59
  98. data/misc/openlayers/examples/boxes.html +0 -58
  99. data/misc/openlayers/examples/browser.html +0 -152
  100. data/misc/openlayers/examples/browser.js +0 -241
  101. data/misc/openlayers/examples/buffer.html +0 -54
  102. data/misc/openlayers/examples/cache-read.html +0 -36
  103. data/misc/openlayers/examples/cache-read.js +0 -36
  104. data/misc/openlayers/examples/cache-write.html +0 -37
  105. data/misc/openlayers/examples/cache-write.js +0 -46
  106. data/misc/openlayers/examples/canvas-hit-detection.html +0 -31
  107. data/misc/openlayers/examples/canvas-hit-detection.js +0 -88
  108. data/misc/openlayers/examples/canvas-inspector.html +0 -53
  109. data/misc/openlayers/examples/canvas-inspector.js +0 -91
  110. data/misc/openlayers/examples/canvas.html +0 -35
  111. data/misc/openlayers/examples/canvas.js +0 -57
  112. data/misc/openlayers/examples/cartodb-geojson.html +0 -71
  113. data/misc/openlayers/examples/click-handler.html +0 -232
  114. data/misc/openlayers/examples/click.html +0 -91
  115. data/misc/openlayers/examples/clientzoom.html +0 -72
  116. data/misc/openlayers/examples/clientzoom.js +0 -39
  117. data/misc/openlayers/examples/controls.html +0 -86
  118. data/misc/openlayers/examples/cql-format.html +0 -54
  119. data/misc/openlayers/examples/cql-format.js +0 -61
  120. data/misc/openlayers/examples/cross-origin-xml.html +0 -32
  121. data/misc/openlayers/examples/cross-origin-xml.js +0 -25
  122. data/misc/openlayers/examples/cross-origin.html +0 -36
  123. data/misc/openlayers/examples/cross-origin.js +0 -39
  124. data/misc/openlayers/examples/custom-control.html +0 -68
  125. data/misc/openlayers/examples/custom-style.html +0 -66
  126. data/misc/openlayers/examples/data/4_m_citylights_lg.gif +0 -0
  127. data/misc/openlayers/examples/data/line.json +0 -10
  128. data/misc/openlayers/examples/data/point.json +0 -8
  129. data/misc/openlayers/examples/data/poly.json +0 -9
  130. data/misc/openlayers/examples/data/roads.json +0 -349
  131. data/misc/openlayers/examples/data/tazdem.tiff +0 -0
  132. data/misc/openlayers/examples/debug.html +0 -77
  133. data/misc/openlayers/examples/document-drag.html +0 -43
  134. data/misc/openlayers/examples/donut.html +0 -62
  135. data/misc/openlayers/examples/donut.js +0 -44
  136. data/misc/openlayers/examples/drag-feature.html +0 -114
  137. data/misc/openlayers/examples/draw-feature.html +0 -143
  138. data/misc/openlayers/examples/draw-undo-redo.html +0 -38
  139. data/misc/openlayers/examples/draw-undo-redo.js +0 -45
  140. data/misc/openlayers/examples/dynamic-text-layer.html +0 -101
  141. data/misc/openlayers/examples/editing-methods.html +0 -58
  142. data/misc/openlayers/examples/editing-methods.js +0 -83
  143. data/misc/openlayers/examples/editingtoolbar-outside.html +0 -56
  144. data/misc/openlayers/examples/editingtoolbar.html +0 -55
  145. data/misc/openlayers/examples/encoded-polyline.html +0 -47
  146. data/misc/openlayers/examples/events.html +0 -155
  147. data/misc/openlayers/examples/example-list.html +0 -302
  148. data/misc/openlayers/examples/example.html +0 -25
  149. data/misc/openlayers/examples/example.js +0 -23
  150. data/misc/openlayers/examples/feature-events.html +0 -46
  151. data/misc/openlayers/examples/feature-events.js +0 -67
  152. data/misc/openlayers/examples/filter-strategy.html +0 -54
  153. data/misc/openlayers/examples/filter-strategy.js +0 -84
  154. data/misc/openlayers/examples/filter.html +0 -107
  155. data/misc/openlayers/examples/fractional-zoom.html +0 -72
  156. data/misc/openlayers/examples/fullScreen.html +0 -53
  157. data/misc/openlayers/examples/fullScreen.js +0 -20
  158. data/misc/openlayers/examples/fusiontables.html +0 -35
  159. data/misc/openlayers/examples/fusiontables.js +0 -51
  160. data/misc/openlayers/examples/game-accel-ball.html +0 -82
  161. data/misc/openlayers/examples/geojson-reprojected.html +0 -46
  162. data/misc/openlayers/examples/geojson-reprojected.js +0 -27
  163. data/misc/openlayers/examples/geojson-reprojected.json +0 -1
  164. data/misc/openlayers/examples/geojson.html +0 -77
  165. data/misc/openlayers/examples/geolocation.html +0 -41
  166. data/misc/openlayers/examples/geolocation.js +0 -112
  167. data/misc/openlayers/examples/georss-flickr.html +0 -119
  168. data/misc/openlayers/examples/georss-markers.html +0 -45
  169. data/misc/openlayers/examples/georss.html +0 -63
  170. data/misc/openlayers/examples/georss.xml +0 -378
  171. data/misc/openlayers/examples/getfeature-wfs.html +0 -84
  172. data/misc/openlayers/examples/getfeatureinfo-control.html +0 -221
  173. data/misc/openlayers/examples/getfeatureinfo-popup.html +0 -96
  174. data/misc/openlayers/examples/gml-layer.html +0 -48
  175. data/misc/openlayers/examples/gml/line.xml +0 -42
  176. data/misc/openlayers/examples/gml/multipoint.xml +0 -70
  177. data/misc/openlayers/examples/gml/multipolygon.xml +0 -106
  178. data/misc/openlayers/examples/gml/owls.xml +0 -156
  179. data/misc/openlayers/examples/gml/point.xml +0 -42
  180. data/misc/openlayers/examples/gml/polygon.xml +0 -89
  181. data/misc/openlayers/examples/google-static.html +0 -39
  182. data/misc/openlayers/examples/google-static.js +0 -61
  183. data/misc/openlayers/examples/google-v3-alloverlays.html +0 -33
  184. data/misc/openlayers/examples/google-v3-alloverlays.js +0 -35
  185. data/misc/openlayers/examples/google-v3.html +0 -35
  186. data/misc/openlayers/examples/google-v3.js +0 -39
  187. data/misc/openlayers/examples/google.html +0 -69
  188. data/misc/openlayers/examples/graphic-name.html +0 -42
  189. data/misc/openlayers/examples/graphic-name.js +0 -67
  190. data/misc/openlayers/examples/graticule.html +0 -116
  191. data/misc/openlayers/examples/gutter.html +0 -55
  192. data/misc/openlayers/examples/highlight-feature.html +0 -88
  193. data/misc/openlayers/examples/hover-handler.html +0 -216
  194. data/misc/openlayers/examples/image-layer.html +0 -76
  195. data/misc/openlayers/examples/img/check-round-green.png +0 -0
  196. data/misc/openlayers/examples/img/check-round-grey.png +0 -0
  197. data/misc/openlayers/examples/img/list.png +0 -0
  198. data/misc/openlayers/examples/img/locate.png +0 -0
  199. data/misc/openlayers/examples/img/marker_shadow.png +0 -0
  200. data/misc/openlayers/examples/img/minus1.png +0 -0
  201. data/misc/openlayers/examples/img/mobile-layers.png +0 -0
  202. data/misc/openlayers/examples/img/mobile-loc.png +0 -0
  203. data/misc/openlayers/examples/img/mobile-zoombar.png +0 -0
  204. data/misc/openlayers/examples/img/openlayers.png +0 -0
  205. data/misc/openlayers/examples/img/popupMatrix.jpg +0 -0
  206. data/misc/openlayers/examples/img/small.jpg +0 -0
  207. data/misc/openlayers/examples/img/thinlong.jpg +0 -0
  208. data/misc/openlayers/examples/img/widelong.jpg +0 -0
  209. data/misc/openlayers/examples/img/wideshort.jpg +0 -0
  210. data/misc/openlayers/examples/intersects.html +0 -193
  211. data/misc/openlayers/examples/kamap.html +0 -45
  212. data/misc/openlayers/examples/kamap.txt +0 -508
  213. data/misc/openlayers/examples/kinetic.html +0 -44
  214. data/misc/openlayers/examples/kinetic.js +0 -27
  215. data/misc/openlayers/examples/kml-layer.html +0 -36
  216. data/misc/openlayers/examples/kml-layer.js +0 -22
  217. data/misc/openlayers/examples/kml-pointtrack.html +0 -40
  218. data/misc/openlayers/examples/kml-pointtrack.js +0 -52
  219. data/misc/openlayers/examples/kml-track.html +0 -42
  220. data/misc/openlayers/examples/kml-track.js +0 -40
  221. data/misc/openlayers/examples/kml-track.kml +0 -3359
  222. data/misc/openlayers/examples/kml/lines.kml +0 -275
  223. data/misc/openlayers/examples/kml/styles.kml +0 -21
  224. data/misc/openlayers/examples/kml/sundials.kml +0 -2273
  225. data/misc/openlayers/examples/label-scale.html +0 -34
  226. data/misc/openlayers/examples/label-scale.js +0 -72
  227. data/misc/openlayers/examples/late-render.html +0 -48
  228. data/misc/openlayers/examples/layer-opacity.html +0 -95
  229. data/misc/openlayers/examples/layerLoadMonitoring.html +0 -135
  230. data/misc/openlayers/examples/layerswitcher.html +0 -60
  231. data/misc/openlayers/examples/light-basic.html +0 -35
  232. data/misc/openlayers/examples/light-basic.js +0 -67
  233. data/misc/openlayers/examples/lite.html +0 -39
  234. data/misc/openlayers/examples/mapbox.html +0 -30
  235. data/misc/openlayers/examples/mapbox.js +0 -21
  236. data/misc/openlayers/examples/mapguide.html +0 -155
  237. data/misc/openlayers/examples/mapquest.html +0 -28
  238. data/misc/openlayers/examples/mapquest.js +0 -36
  239. data/misc/openlayers/examples/mapserver.html +0 -41
  240. data/misc/openlayers/examples/mapserver_untiled.html +0 -43
  241. data/misc/openlayers/examples/marker-shadow.html +0 -152
  242. data/misc/openlayers/examples/markerResize.html +0 -60
  243. data/misc/openlayers/examples/markers.html +0 -59
  244. data/misc/openlayers/examples/markersTextLayer.html +0 -41
  245. data/misc/openlayers/examples/measure.html +0 -203
  246. data/misc/openlayers/examples/mobile-base.js +0 -167
  247. data/misc/openlayers/examples/mobile-drawing.html +0 -52
  248. data/misc/openlayers/examples/mobile-drawing.js +0 -71
  249. data/misc/openlayers/examples/mobile-jq.html +0 -76
  250. data/misc/openlayers/examples/mobile-jq.js +0 -159
  251. data/misc/openlayers/examples/mobile-layers.html +0 -62
  252. data/misc/openlayers/examples/mobile-layers.js +0 -71
  253. data/misc/openlayers/examples/mobile-navigation.html +0 -52
  254. data/misc/openlayers/examples/mobile-navigation.js +0 -24
  255. data/misc/openlayers/examples/mobile-sencha.html +0 -184
  256. data/misc/openlayers/examples/mobile-sencha.js +0 -198
  257. data/misc/openlayers/examples/mobile-wmts-vienna.css +0 -205
  258. data/misc/openlayers/examples/mobile-wmts-vienna.html +0 -27
  259. data/misc/openlayers/examples/mobile-wmts-vienna.js +0 -281
  260. data/misc/openlayers/examples/mobile.html +0 -56
  261. data/misc/openlayers/examples/mobile.js +0 -39
  262. data/misc/openlayers/examples/modify-feature.html +0 -193
  263. data/misc/openlayers/examples/mouse-position.html +0 -67
  264. data/misc/openlayers/examples/mousewheel-interval.html +0 -63
  265. data/misc/openlayers/examples/multiserver.html +0 -52
  266. data/misc/openlayers/examples/multitouch.html +0 -28
  267. data/misc/openlayers/examples/mvs.html +0 -129
  268. data/misc/openlayers/examples/navigation-control.html +0 -44
  269. data/misc/openlayers/examples/navigation-history.html +0 -62
  270. data/misc/openlayers/examples/navtoolbar-alwaysZoom.html +0 -85
  271. data/misc/openlayers/examples/navtoolbar-outsidemap.html +0 -47
  272. data/misc/openlayers/examples/navtoolbar.html +0 -46
  273. data/misc/openlayers/examples/offline-storage.html +0 -44
  274. data/misc/openlayers/examples/offline-storage.js +0 -199
  275. data/misc/openlayers/examples/openls.html +0 -88
  276. data/misc/openlayers/examples/ordering.html +0 -221
  277. data/misc/openlayers/examples/osm-google.html +0 -32
  278. data/misc/openlayers/examples/osm-google.js +0 -23
  279. data/misc/openlayers/examples/osm-grayscale.html +0 -77
  280. data/misc/openlayers/examples/osm-marker-popup.html +0 -32
  281. data/misc/openlayers/examples/osm-marker-popup.js +0 -39
  282. data/misc/openlayers/examples/osm.html +0 -41
  283. data/misc/openlayers/examples/osm/sutton_coldfield.osm +0 -662
  284. data/misc/openlayers/examples/overviewmap.html +0 -120
  285. data/misc/openlayers/examples/pan-zoom-panels.html +0 -97
  286. data/misc/openlayers/examples/panel.html +0 -99
  287. data/misc/openlayers/examples/point-grid.html +0 -75
  288. data/misc/openlayers/examples/point-grid.js +0 -33
  289. data/misc/openlayers/examples/point-track-markers.html +0 -72
  290. data/misc/openlayers/examples/polar-projections.html +0 -41
  291. data/misc/openlayers/examples/polar-projections.js +0 -84
  292. data/misc/openlayers/examples/popupMatrix.html +0 -652
  293. data/misc/openlayers/examples/proxy.cgi +0 -81
  294. data/misc/openlayers/examples/regular-polygons.html +0 -177
  295. data/misc/openlayers/examples/resize-features.html +0 -101
  296. data/misc/openlayers/examples/restricted-extent.html +0 -77
  297. data/misc/openlayers/examples/rotate-features.html +0 -113
  298. data/misc/openlayers/examples/select-feature-multilayer.html +0 -129
  299. data/misc/openlayers/examples/select-feature-openpopup.html +0 -106
  300. data/misc/openlayers/examples/select-feature.html +0 -170
  301. data/misc/openlayers/examples/setextent.html +0 -39
  302. data/misc/openlayers/examples/simplify-linestring.html +0 -103
  303. data/misc/openlayers/examples/simplify-linestring.js +0 -599
  304. data/misc/openlayers/examples/single-tile.html +0 -33
  305. data/misc/openlayers/examples/single-tile.js +0 -20
  306. data/misc/openlayers/examples/sld-parser.html +0 -70
  307. data/misc/openlayers/examples/sld.html +0 -31
  308. data/misc/openlayers/examples/sld.js +0 -102
  309. data/misc/openlayers/examples/snap-grid.html +0 -78
  310. data/misc/openlayers/examples/snap-grid.js +0 -81
  311. data/misc/openlayers/examples/snap-split.html +0 -281
  312. data/misc/openlayers/examples/snapping.html +0 -324
  313. data/misc/openlayers/examples/sos.html +0 -189
  314. data/misc/openlayers/examples/spherical-mercator.html +0 -120
  315. data/misc/openlayers/examples/split-feature.html +0 -116
  316. data/misc/openlayers/examples/strategy-bbox.html +0 -106
  317. data/misc/openlayers/examples/strategy-cluster-extended.html +0 -125
  318. data/misc/openlayers/examples/strategy-cluster-extended.js +0 -247
  319. data/misc/openlayers/examples/strategy-cluster-threshold.html +0 -149
  320. data/misc/openlayers/examples/strategy-cluster.html +0 -238
  321. data/misc/openlayers/examples/strategy-paging.html +0 -115
  322. data/misc/openlayers/examples/style-rules.html +0 -49
  323. data/misc/openlayers/examples/style-rules.js +0 -99
  324. data/misc/openlayers/examples/style.css +0 -143
  325. data/misc/openlayers/examples/style.mobile-jq.css +0 -62
  326. data/misc/openlayers/examples/stylemap.html +0 -100
  327. data/misc/openlayers/examples/styles-context.html +0 -117
  328. data/misc/openlayers/examples/styles-rotation.html +0 -93
  329. data/misc/openlayers/examples/styles-unique.html +0 -109
  330. data/misc/openlayers/examples/sundials-spherical-mercator.html +0 -111
  331. data/misc/openlayers/examples/sundials.html +0 -107
  332. data/misc/openlayers/examples/symbolizers-fill-stroke-graphic.html +0 -141
  333. data/misc/openlayers/examples/tasmania/TasmaniaCities.xml +0 -40
  334. data/misc/openlayers/examples/tasmania/TasmaniaRoads.xml +0 -204
  335. data/misc/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml +0 -92
  336. data/misc/openlayers/examples/tasmania/TasmaniaWaterBodies.xml +0 -162
  337. data/misc/openlayers/examples/tasmania/sld-tasmania.xml +0 -594
  338. data/misc/openlayers/examples/teleportation.html +0 -76
  339. data/misc/openlayers/examples/textfile.txt +0 -4
  340. data/misc/openlayers/examples/tile-origin.html +0 -38
  341. data/misc/openlayers/examples/tile-origin.js +0 -16
  342. data/misc/openlayers/examples/tilecache.html +0 -58
  343. data/misc/openlayers/examples/tms.html +0 -62
  344. data/misc/openlayers/examples/transform-feature.html +0 -123
  345. data/misc/openlayers/examples/transition.html +0 -70
  346. data/misc/openlayers/examples/using-proj4js.html +0 -109
  347. data/misc/openlayers/examples/using-proj4js.js +0 -132
  348. data/misc/openlayers/examples/utfgrid-geography-class.html +0 -51
  349. data/misc/openlayers/examples/utfgrid-geography-class.js +0 -62
  350. data/misc/openlayers/examples/utfgrid.html +0 -64
  351. data/misc/openlayers/examples/utfgrid.js +0 -61
  352. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  353. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  354. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  355. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  356. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  357. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  358. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  359. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  360. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  361. data/misc/openlayers/examples/utfgrid/geography-class/0/0/0.grid.json +0 -1
  362. data/misc/openlayers/examples/utfgrid/geography-class/1/0/0.grid.json +0 -1
  363. data/misc/openlayers/examples/utfgrid/geography-class/1/0/1.grid.json +0 -1
  364. data/misc/openlayers/examples/utfgrid/geography-class/1/1/0.grid.json +0 -1
  365. data/misc/openlayers/examples/utfgrid/geography-class/1/1/1.grid.json +0 -1
  366. data/misc/openlayers/examples/utfgrid/geography-class/2/0/0.grid.json +0 -1
  367. data/misc/openlayers/examples/utfgrid/geography-class/2/0/1.grid.json +0 -1
  368. data/misc/openlayers/examples/utfgrid/geography-class/2/0/2.grid.json +0 -1
  369. data/misc/openlayers/examples/utfgrid/geography-class/2/0/3.grid.json +0 -1
  370. data/misc/openlayers/examples/utfgrid/geography-class/2/1/0.grid.json +0 -1
  371. data/misc/openlayers/examples/utfgrid/geography-class/2/1/1.grid.json +0 -1
  372. data/misc/openlayers/examples/utfgrid/geography-class/2/1/2.grid.json +0 -1
  373. data/misc/openlayers/examples/utfgrid/geography-class/2/1/3.grid.json +0 -1
  374. data/misc/openlayers/examples/utfgrid/geography-class/2/2/0.grid.json +0 -1
  375. data/misc/openlayers/examples/utfgrid/geography-class/2/2/1.grid.json +0 -1
  376. data/misc/openlayers/examples/utfgrid/geography-class/2/2/2.grid.json +0 -1
  377. data/misc/openlayers/examples/utfgrid/geography-class/2/2/3.grid.json +0 -1
  378. data/misc/openlayers/examples/utfgrid/geography-class/2/3/0.grid.json +0 -1
  379. data/misc/openlayers/examples/utfgrid/geography-class/2/3/1.grid.json +0 -1
  380. data/misc/openlayers/examples/utfgrid/geography-class/2/3/2.grid.json +0 -1
  381. data/misc/openlayers/examples/utfgrid/geography-class/2/3/3.grid.json +0 -1
  382. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/0.json +0 -1
  383. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/1.json +0 -1
  384. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/2.json +0 -1
  385. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/0.json +0 -1
  386. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/1.json +0 -1
  387. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/2.json +0 -1
  388. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/0.json +0 -1
  389. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/1.json +0 -1
  390. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/2.json +0 -1
  391. data/misc/openlayers/examples/utfgrid_twogrids.html +0 -51
  392. data/misc/openlayers/examples/utfgrid_twogrids.js +0 -70
  393. data/misc/openlayers/examples/vector-features-with-text.html +0 -138
  394. data/misc/openlayers/examples/vector-features.html +0 -149
  395. data/misc/openlayers/examples/vector-formats.html +0 -240
  396. data/misc/openlayers/examples/web-mercator.html +0 -50
  397. data/misc/openlayers/examples/web-mercator.js +0 -37
  398. data/misc/openlayers/examples/wfs-filter.html +0 -35
  399. data/misc/openlayers/examples/wfs-filter.js +0 -48
  400. data/misc/openlayers/examples/wfs-protocol-transactions.html +0 -104
  401. data/misc/openlayers/examples/wfs-protocol-transactions.js +0 -106
  402. data/misc/openlayers/examples/wfs-protocol.html +0 -55
  403. data/misc/openlayers/examples/wfs-reprojection.html +0 -42
  404. data/misc/openlayers/examples/wfs-reprojection.js +0 -60
  405. data/misc/openlayers/examples/wfs-snap-split.html +0 -292
  406. data/misc/openlayers/examples/wfs-spatial-filter.html +0 -37
  407. data/misc/openlayers/examples/wfs-spatial-filter.js +0 -36
  408. data/misc/openlayers/examples/wfs-states.html +0 -34
  409. data/misc/openlayers/examples/wfs-states.js +0 -35
  410. data/misc/openlayers/examples/wmc.html +0 -150
  411. data/misc/openlayers/examples/wms-long-url.html +0 -44
  412. data/misc/openlayers/examples/wms-long-url.js +0 -26
  413. data/misc/openlayers/examples/wms-untiled.html +0 -48
  414. data/misc/openlayers/examples/wms-v13.html +0 -57
  415. data/misc/openlayers/examples/wms.html +0 -49
  416. data/misc/openlayers/examples/wmst.html +0 -63
  417. data/misc/openlayers/examples/wmts-capabilities.html +0 -43
  418. data/misc/openlayers/examples/wmts-capabilities.js +0 -58
  419. data/misc/openlayers/examples/wmts-getfeatureinfo.html +0 -74
  420. data/misc/openlayers/examples/wmts-getfeatureinfo.js +0 -94
  421. data/misc/openlayers/examples/wmts.html +0 -41
  422. data/misc/openlayers/examples/wmts.js +0 -35
  423. data/misc/openlayers/examples/wps-client.html +0 -31
  424. data/misc/openlayers/examples/wps-client.js +0 -75
  425. data/misc/openlayers/examples/wps.html +0 -89
  426. data/misc/openlayers/examples/wps.js +0 -353
  427. data/misc/openlayers/examples/wrapDateLine.html +0 -73
  428. data/misc/openlayers/examples/xhtml.html +0 -42
  429. data/misc/openlayers/examples/xml.html +0 -161
  430. data/misc/openlayers/examples/xml/features.xml +0 -2
  431. data/misc/openlayers/examples/xml/georss-flickr.xml +0 -730
  432. data/misc/openlayers/examples/xml/track1.xml +0 -98
  433. data/misc/openlayers/examples/xml/wmsdescribelayer.xml +0 -5
  434. data/misc/openlayers/examples/xyz-esri.html +0 -45
  435. data/misc/openlayers/examples/yelp-georss.xml +0 -147
  436. data/misc/openlayers/examples/zoom.html +0 -68
  437. data/misc/openlayers/examples/zoom.js +0 -34
  438. data/misc/openlayers/examples/zoomLevels.html +0 -81
  439. data/misc/openlayers/examples/zoomify.html +0 -70
  440. data/misc/openlayers/img/blank.gif +0 -0
  441. data/misc/openlayers/img/cloud-popup-relative.png +0 -0
  442. data/misc/openlayers/img/drag-rectangle-off.png +0 -0
  443. data/misc/openlayers/img/drag-rectangle-on.png +0 -0
  444. data/misc/openlayers/img/east-mini.png +0 -0
  445. data/misc/openlayers/img/layer-switcher-maximize.png +0 -0
  446. data/misc/openlayers/img/layer-switcher-minimize.png +0 -0
  447. data/misc/openlayers/img/marker-blue.png +0 -0
  448. data/misc/openlayers/img/marker-gold.png +0 -0
  449. data/misc/openlayers/img/marker-green.png +0 -0
  450. data/misc/openlayers/img/marker.png +0 -0
  451. data/misc/openlayers/img/measuring-stick-off.png +0 -0
  452. data/misc/openlayers/img/measuring-stick-on.png +0 -0
  453. data/misc/openlayers/img/north-mini.png +0 -0
  454. data/misc/openlayers/img/panning-hand-off.png +0 -0
  455. data/misc/openlayers/img/panning-hand-on.png +0 -0
  456. data/misc/openlayers/img/slider.png +0 -0
  457. data/misc/openlayers/img/south-mini.png +0 -0
  458. data/misc/openlayers/img/west-mini.png +0 -0
  459. data/misc/openlayers/img/zoom-minus-mini.png +0 -0
  460. data/misc/openlayers/img/zoom-plus-mini.png +0 -0
  461. data/misc/openlayers/img/zoom-world-mini.png +0 -0
  462. data/misc/openlayers/img/zoombar.png +0 -0
  463. data/misc/openlayers/lib/Firebug/errorIcon.png +0 -0
  464. data/misc/openlayers/lib/Firebug/firebug.css +0 -209
  465. data/misc/openlayers/lib/Firebug/firebug.html +0 -23
  466. data/misc/openlayers/lib/Firebug/firebug.js +0 -674
  467. data/misc/openlayers/lib/Firebug/firebugx.js +0 -10
  468. data/misc/openlayers/lib/Firebug/infoIcon.png +0 -0
  469. data/misc/openlayers/lib/Firebug/license.txt +0 -30
  470. data/misc/openlayers/lib/Firebug/readme.txt +0 -13
  471. data/misc/openlayers/lib/Firebug/warningIcon.png +0 -0
  472. data/misc/openlayers/lib/OpenLayers.js +0 -429
  473. data/misc/openlayers/lib/OpenLayers/Animation.js +0 -102
  474. data/misc/openlayers/lib/OpenLayers/BaseTypes.js +0 -463
  475. data/misc/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -837
  476. data/misc/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -121
  477. data/misc/openlayers/lib/OpenLayers/BaseTypes/Date.js +0 -123
  478. data/misc/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -189
  479. data/misc/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -215
  480. data/misc/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -143
  481. data/misc/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -89
  482. data/misc/openlayers/lib/OpenLayers/Console.js +0 -250
  483. data/misc/openlayers/lib/OpenLayers/Control.js +0 -371
  484. data/misc/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -182
  485. data/misc/openlayers/lib/OpenLayers/Control/Attribution.js +0 -104
  486. data/misc/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  487. data/misc/openlayers/lib/OpenLayers/Control/CacheRead.js +0 -156
  488. data/misc/openlayers/lib/OpenLayers/Control/CacheWrite.js +0 -257
  489. data/misc/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -366
  490. data/misc/openlayers/lib/OpenLayers/Control/DragPan.js +0 -156
  491. data/misc/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -229
  492. data/misc/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -81
  493. data/misc/openlayers/lib/OpenLayers/Control/Geolocate.js +0 -192
  494. data/misc/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -597
  495. data/misc/openlayers/lib/OpenLayers/Control/Graticule.js +0 -377
  496. data/misc/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -142
  497. data/misc/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -521
  498. data/misc/openlayers/lib/OpenLayers/Control/Measure.js +0 -379
  499. data/misc/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -835
  500. data/misc/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -227
  501. data/misc/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -57
  502. data/misc/openlayers/lib/OpenLayers/Control/Navigation.js +0 -345
  503. data/misc/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  504. data/misc/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -750
  505. data/misc/openlayers/lib/OpenLayers/Control/Pan.js +0 -95
  506. data/misc/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -73
  507. data/misc/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -233
  508. data/misc/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -408
  509. data/misc/openlayers/lib/OpenLayers/Control/Panel.js +0 -431
  510. data/misc/openlayers/lib/OpenLayers/Control/Permalink.js +0 -257
  511. data/misc/openlayers/lib/OpenLayers/Control/PinchZoom.js +0 -157
  512. data/misc/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -567
  513. data/misc/openlayers/lib/OpenLayers/Control/Scale.js +0 -100
  514. data/misc/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -220
  515. data/misc/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -643
  516. data/misc/openlayers/lib/OpenLayers/Control/Snapping.js +0 -560
  517. data/misc/openlayers/lib/OpenLayers/Control/Split.js +0 -494
  518. data/misc/openlayers/lib/OpenLayers/Control/TouchNavigation.js +0 -182
  519. data/misc/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -624
  520. data/misc/openlayers/lib/OpenLayers/Control/UTFGrid.js +0 -240
  521. data/misc/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -532
  522. data/misc/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -400
  523. data/misc/openlayers/lib/OpenLayers/Control/Zoom.js +0 -138
  524. data/misc/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -129
  525. data/misc/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -29
  526. data/misc/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -29
  527. data/misc/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  528. data/misc/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -35
  529. data/misc/openlayers/lib/OpenLayers/Events.js +0 -1170
  530. data/misc/openlayers/lib/OpenLayers/Events/buttonclick.js +0 -206
  531. data/misc/openlayers/lib/OpenLayers/Events/featureclick.js +0 -321
  532. data/misc/openlayers/lib/OpenLayers/Feature.js +0 -225
  533. data/misc/openlayers/lib/OpenLayers/Feature/Vector.js +0 -510
  534. data/misc/openlayers/lib/OpenLayers/Filter.js +0 -87
  535. data/misc/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -267
  536. data/misc/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -87
  537. data/misc/openlayers/lib/OpenLayers/Filter/Function.js +0 -49
  538. data/misc/openlayers/lib/OpenLayers/Filter/Logical.js +0 -121
  539. data/misc/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -122
  540. data/misc/openlayers/lib/OpenLayers/Format.js +0 -123
  541. data/misc/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  542. data/misc/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -46
  543. data/misc/openlayers/lib/OpenLayers/Format/Atom.js +0 -712
  544. data/misc/openlayers/lib/OpenLayers/Format/CQL.js +0 -452
  545. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  546. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -240
  547. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  548. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -457
  549. data/misc/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  550. data/misc/openlayers/lib/OpenLayers/Format/EncodedPolyline.js +0 -557
  551. data/misc/openlayers/lib/OpenLayers/Format/Filter.js +0 -53
  552. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -504
  553. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -184
  554. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -222
  555. data/misc/openlayers/lib/OpenLayers/Format/GML.js +0 -923
  556. data/misc/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -645
  557. data/misc/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  558. data/misc/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -477
  559. data/misc/openlayers/lib/OpenLayers/Format/GPX.js +0 -385
  560. data/misc/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  561. data/misc/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -409
  562. data/misc/openlayers/lib/OpenLayers/Format/JSON.js +0 -398
  563. data/misc/openlayers/lib/OpenLayers/Format/KML.js +0 -1517
  564. data/misc/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js +0 -108
  565. data/misc/openlayers/lib/OpenLayers/Format/OSM.js +0 -465
  566. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon.js +0 -78
  567. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -318
  568. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -62
  569. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -116
  570. data/misc/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -86
  571. data/misc/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -595
  572. data/misc/openlayers/lib/OpenLayers/Format/QueryStringFilter.js +0 -183
  573. data/misc/openlayers/lib/OpenLayers/Format/SLD.js +0 -81
  574. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1309
  575. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -46
  576. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0_GeoServer.js +0 -149
  577. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -48
  578. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  579. data/misc/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -190
  580. data/misc/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -302
  581. data/misc/openlayers/lib/OpenLayers/Format/Text.js +0 -151
  582. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities.js +0 -47
  583. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1.js +0 -55
  584. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js +0 -170
  585. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_1_0.js +0 -109
  586. data/misc/openlayers/lib/OpenLayers/Format/WCSGetCoverage.js +0 -199
  587. data/misc/openlayers/lib/OpenLayers/Format/WFS.js +0 -223
  588. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -47
  589. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -129
  590. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -115
  591. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -63
  592. data/misc/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -234
  593. data/misc/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  594. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -446
  595. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -174
  596. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -189
  597. data/misc/openlayers/lib/OpenLayers/Format/WKT.js +0 -392
  598. data/misc/openlayers/lib/OpenLayers/Format/WMC.js +0 -182
  599. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -1267
  600. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -104
  601. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -149
  602. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -56
  603. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -368
  604. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -122
  605. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -57
  606. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -60
  607. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js +0 -85
  608. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  609. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  610. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -53
  611. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -122
  612. data/misc/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -296
  613. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -230
  614. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -251
  615. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities.js +0 -48
  616. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities/v1_0_0.js +0 -119
  617. data/misc/openlayers/lib/OpenLayers/Format/WPSDescribeProcess.js +0 -185
  618. data/misc/openlayers/lib/OpenLayers/Format/WPSExecute.js +0 -395
  619. data/misc/openlayers/lib/OpenLayers/Format/XLS.js +0 -68
  620. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1.js +0 -304
  621. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1_1_0.js +0 -48
  622. data/misc/openlayers/lib/OpenLayers/Format/XML.js +0 -897
  623. data/misc/openlayers/lib/OpenLayers/Format/XML/VersionedOGC.js +0 -212
  624. data/misc/openlayers/lib/OpenLayers/Geometry.js +0 -500
  625. data/misc/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -563
  626. data/misc/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -89
  627. data/misc/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -646
  628. data/misc/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -433
  629. data/misc/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -258
  630. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -66
  631. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -42
  632. data/misc/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  633. data/misc/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -255
  634. data/misc/openlayers/lib/OpenLayers/Handler.js +0 -325
  635. data/misc/openlayers/lib/OpenLayers/Handler/Box.js +0 -244
  636. data/misc/openlayers/lib/OpenLayers/Handler/Click.js +0 -505
  637. data/misc/openlayers/lib/OpenLayers/Handler/Drag.js +0 -547
  638. data/misc/openlayers/lib/OpenLayers/Handler/Feature.js +0 -434
  639. data/misc/openlayers/lib/OpenLayers/Handler/Hover.js +0 -180
  640. data/misc/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -117
  641. data/misc/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -264
  642. data/misc/openlayers/lib/OpenLayers/Handler/Path.js +0 -543
  643. data/misc/openlayers/lib/OpenLayers/Handler/Pinch.js +0 -239
  644. data/misc/openlayers/lib/OpenLayers/Handler/Point.js +0 -556
  645. data/misc/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -305
  646. data/misc/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -429
  647. data/misc/openlayers/lib/OpenLayers/Icon.js +0 -243
  648. data/misc/openlayers/lib/OpenLayers/Kinetic.js +0 -178
  649. data/misc/openlayers/lib/OpenLayers/Lang.js +0 -134
  650. data/misc/openlayers/lib/OpenLayers/Lang/ar.js +0 -32
  651. data/misc/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -54
  652. data/misc/openlayers/lib/OpenLayers/Lang/bg.js +0 -25
  653. data/misc/openlayers/lib/OpenLayers/Lang/br.js +0 -53
  654. data/misc/openlayers/lib/OpenLayers/Lang/ca.js +0 -89
  655. data/misc/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -45
  656. data/misc/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -80
  657. data/misc/openlayers/lib/OpenLayers/Lang/de.js +0 -55
  658. data/misc/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  659. data/misc/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  660. data/misc/openlayers/lib/OpenLayers/Lang/en.js +0 -89
  661. data/misc/openlayers/lib/OpenLayers/Lang/es.js +0 -90
  662. data/misc/openlayers/lib/OpenLayers/Lang/fi.js +0 -32
  663. data/misc/openlayers/lib/OpenLayers/Lang/fr.js +0 -53
  664. data/misc/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  665. data/misc/openlayers/lib/OpenLayers/Lang/gl.js +0 -53
  666. data/misc/openlayers/lib/OpenLayers/Lang/gsw.js +0 -53
  667. data/misc/openlayers/lib/OpenLayers/Lang/hr.js +0 -37
  668. data/misc/openlayers/lib/OpenLayers/Lang/hsb.js +0 -53
  669. data/misc/openlayers/lib/OpenLayers/Lang/hu.js +0 -54
  670. data/misc/openlayers/lib/OpenLayers/Lang/ia.js +0 -53
  671. data/misc/openlayers/lib/OpenLayers/Lang/id.js +0 -54
  672. data/misc/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  673. data/misc/openlayers/lib/OpenLayers/Lang/is.js +0 -27
  674. data/misc/openlayers/lib/OpenLayers/Lang/it.js +0 -80
  675. data/misc/openlayers/lib/OpenLayers/Lang/ja.js +0 -54
  676. data/misc/openlayers/lib/OpenLayers/Lang/km.js +0 -23
  677. data/misc/openlayers/lib/OpenLayers/Lang/ksh.js +0 -53
  678. data/misc/openlayers/lib/OpenLayers/Lang/lt.js +0 -47
  679. data/misc/openlayers/lib/OpenLayers/Lang/nb.js +0 -82
  680. data/misc/openlayers/lib/OpenLayers/Lang/nds.js +0 -37
  681. data/misc/openlayers/lib/OpenLayers/Lang/nl.js +0 -53
  682. data/misc/openlayers/lib/OpenLayers/Lang/nn.js +0 -19
  683. data/misc/openlayers/lib/OpenLayers/Lang/oc.js +0 -53
  684. data/misc/openlayers/lib/OpenLayers/Lang/pl.js +0 -89
  685. data/misc/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -54
  686. data/misc/openlayers/lib/OpenLayers/Lang/pt.js +0 -55
  687. data/misc/openlayers/lib/OpenLayers/Lang/ro.js +0 -69
  688. data/misc/openlayers/lib/OpenLayers/Lang/ru.js +0 -56
  689. data/misc/openlayers/lib/OpenLayers/Lang/sk.js +0 -44
  690. data/misc/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -45
  691. data/misc/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  692. data/misc/openlayers/lib/OpenLayers/Lang/vi.js +0 -53
  693. data/misc/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -80
  694. data/misc/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -81
  695. data/misc/openlayers/lib/OpenLayers/Layer.js +0 -1377
  696. data/misc/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -225
  697. data/misc/openlayers/lib/OpenLayers/Layer/ArcGISCache.js +0 -480
  698. data/misc/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -425
  699. data/misc/openlayers/lib/OpenLayers/Layer/Bing.js +0 -333
  700. data/misc/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  701. data/misc/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -441
  702. data/misc/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -319
  703. data/misc/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -265
  704. data/misc/openlayers/lib/OpenLayers/Layer/Google.js +0 -809
  705. data/misc/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -351
  706. data/misc/openlayers/lib/OpenLayers/Layer/Grid.js +0 -1343
  707. data/misc/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  708. data/misc/openlayers/lib/OpenLayers/Layer/Image.js +0 -259
  709. data/misc/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -192
  710. data/misc/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -143
  711. data/misc/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -443
  712. data/misc/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -181
  713. data/misc/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  714. data/misc/openlayers/lib/OpenLayers/Layer/OSM.js +0 -123
  715. data/misc/openlayers/lib/OpenLayers/Layer/PointGrid.js +0 -299
  716. data/misc/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -125
  717. data/misc/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -146
  718. data/misc/openlayers/lib/OpenLayers/Layer/TMS.js +0 -202
  719. data/misc/openlayers/lib/OpenLayers/Layer/Text.js +0 -267
  720. data/misc/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -140
  721. data/misc/openlayers/lib/OpenLayers/Layer/UTFGrid.js +0 -184
  722. data/misc/openlayers/lib/OpenLayers/Layer/Vector.js +0 -1007
  723. data/misc/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -154
  724. data/misc/openlayers/lib/OpenLayers/Layer/WMS.js +0 -267
  725. data/misc/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -510
  726. data/misc/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -105
  727. data/misc/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -172
  728. data/misc/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -260
  729. data/misc/openlayers/lib/OpenLayers/Map.js +0 -2867
  730. data/misc/openlayers/lib/OpenLayers/Marker.js +0 -241
  731. data/misc/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  732. data/misc/openlayers/lib/OpenLayers/Popup.js +0 -1065
  733. data/misc/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -195
  734. data/misc/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  735. data/misc/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -227
  736. data/misc/openlayers/lib/OpenLayers/Projection.js +0 -322
  737. data/misc/openlayers/lib/OpenLayers/Protocol.js +0 -291
  738. data/misc/openlayers/lib/OpenLayers/Protocol/CSW.js +0 -30
  739. data/misc/openlayers/lib/OpenLayers/Protocol/CSW/v2_0_2.js +0 -127
  740. data/misc/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -580
  741. data/misc/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  742. data/misc/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -133
  743. data/misc/openlayers/lib/OpenLayers/Protocol/Script.js +0 -377
  744. data/misc/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -86
  745. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -453
  746. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  747. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -68
  748. data/misc/openlayers/lib/OpenLayers/Renderer.js +0 -432
  749. data/misc/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -906
  750. data/misc/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1053
  751. data/misc/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -1012
  752. data/misc/openlayers/lib/OpenLayers/Renderer/VML.js +0 -985
  753. data/misc/openlayers/lib/OpenLayers/Request.js +0 -429
  754. data/misc/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -458
  755. data/misc/openlayers/lib/OpenLayers/Rule.js +0 -236
  756. data/misc/openlayers/lib/OpenLayers/SingleFile.js +0 -78
  757. data/misc/openlayers/lib/OpenLayers/Spherical.js +0 -67
  758. data/misc/openlayers/lib/OpenLayers/Strategy.js +0 -121
  759. data/misc/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -290
  760. data/misc/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -283
  761. data/misc/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -159
  762. data/misc/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -135
  763. data/misc/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -233
  764. data/misc/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -141
  765. data/misc/openlayers/lib/OpenLayers/Strategy/Save.js +0 -231
  766. data/misc/openlayers/lib/OpenLayers/Style.js +0 -448
  767. data/misc/openlayers/lib/OpenLayers/Style2.js +0 -112
  768. data/misc/openlayers/lib/OpenLayers/StyleMap.js +0 -161
  769. data/misc/openlayers/lib/OpenLayers/Symbolizer.js +0 -55
  770. data/misc/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -74
  771. data/misc/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -157
  772. data/misc/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -88
  773. data/misc/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  774. data/misc/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -70
  775. data/misc/openlayers/lib/OpenLayers/Tile.js +0 -292
  776. data/misc/openlayers/lib/OpenLayers/Tile/Image.js +0 -510
  777. data/misc/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -233
  778. data/misc/openlayers/lib/OpenLayers/Tile/UTFGrid.js +0 -252
  779. data/misc/openlayers/lib/OpenLayers/TileManager.js +0 -462
  780. data/misc/openlayers/lib/OpenLayers/Tween.js +0 -361
  781. data/misc/openlayers/lib/OpenLayers/Util.js +0 -1773
  782. data/misc/openlayers/lib/OpenLayers/Util/vendorPrefix.js +0 -131
  783. data/misc/openlayers/lib/OpenLayers/WPSClient.js +0 -223
  784. data/misc/openlayers/lib/OpenLayers/WPSProcess.js +0 -501
  785. data/misc/openlayers/lib/Rico/Color.js +0 -253
  786. data/misc/openlayers/lib/Rico/Corner.js +0 -339
  787. data/misc/openlayers/lib/Rico/license.js +0 -19
  788. data/misc/openlayers/lib/deprecated.js +0 -5842
  789. data/misc/openlayers/license.txt +0 -27
  790. data/misc/openlayers/licenses/APACHE-2.0.txt +0 -202
  791. data/misc/openlayers/licenses/BSD-LICENSE.txt +0 -28
  792. data/misc/openlayers/licenses/MIT-LICENSE.txt +0 -18
  793. data/misc/openlayers/notes/2.12.md +0 -391
  794. data/misc/openlayers/notes/2.13.md +0 -159
  795. data/misc/openlayers/readme.md +0 -79
  796. data/misc/openlayers/tests/Animation.html +0 -96
  797. data/misc/openlayers/tests/BaseTypes.html +0 -387
  798. data/misc/openlayers/tests/BaseTypes/Bounds.html +0 -738
  799. data/misc/openlayers/tests/BaseTypes/Class.html +0 -350
  800. data/misc/openlayers/tests/BaseTypes/Date.html +0 -191
  801. data/misc/openlayers/tests/BaseTypes/Element.html +0 -195
  802. data/misc/openlayers/tests/BaseTypes/LonLat.html +0 -241
  803. data/misc/openlayers/tests/BaseTypes/Pixel.html +0 -123
  804. data/misc/openlayers/tests/BaseTypes/Size.html +0 -67
  805. data/misc/openlayers/tests/Console.html +0 -39
  806. data/misc/openlayers/tests/Control.html +0 -107
  807. data/misc/openlayers/tests/Control/ArgParser.html +0 -26
  808. data/misc/openlayers/tests/Control/Attribution.html +0 -60
  809. data/misc/openlayers/tests/Control/Button.html +0 -17
  810. data/misc/openlayers/tests/Control/CacheRead.html +0 -108
  811. data/misc/openlayers/tests/Control/CacheWrite.html +0 -90
  812. data/misc/openlayers/tests/Control/DragFeature.html +0 -383
  813. data/misc/openlayers/tests/Control/DragPan.html +0 -104
  814. data/misc/openlayers/tests/Control/DrawFeature.html +0 -160
  815. data/misc/openlayers/tests/Control/EditingToolbar.html +0 -33
  816. data/misc/openlayers/tests/Control/Geolocate.html +0 -129
  817. data/misc/openlayers/tests/Control/GetFeature.html +0 -177
  818. data/misc/openlayers/tests/Control/Graticule.html +0 -66
  819. data/misc/openlayers/tests/Control/KeyboardDefaults.html +0 -173
  820. data/misc/openlayers/tests/Control/LayerSwitcher.html +0 -249
  821. data/misc/openlayers/tests/Control/Measure.html +0 -386
  822. data/misc/openlayers/tests/Control/ModifyFeature.html +0 -828
  823. data/misc/openlayers/tests/Control/MousePosition.html +0 -109
  824. data/misc/openlayers/tests/Control/NavToolbar.html +0 -45
  825. data/misc/openlayers/tests/Control/Navigation.html +0 -200
  826. data/misc/openlayers/tests/Control/NavigationHistory.html +0 -245
  827. data/misc/openlayers/tests/Control/OverviewMap.html +0 -266
  828. data/misc/openlayers/tests/Control/Pan.html +0 -201
  829. data/misc/openlayers/tests/Control/PanPanel.html +0 -61
  830. data/misc/openlayers/tests/Control/PanZoom.html +0 -244
  831. data/misc/openlayers/tests/Control/PanZoomBar.html +0 -245
  832. data/misc/openlayers/tests/Control/Panel.html +0 -382
  833. data/misc/openlayers/tests/Control/Permalink.html +0 -453
  834. data/misc/openlayers/tests/Control/PinchZoom.html +0 -134
  835. data/misc/openlayers/tests/Control/SLDSelect.html +0 -239
  836. data/misc/openlayers/tests/Control/Scale.html +0 -54
  837. data/misc/openlayers/tests/Control/ScaleLine.html +0 -187
  838. data/misc/openlayers/tests/Control/SelectFeature.html +0 -632
  839. data/misc/openlayers/tests/Control/Snapping.html +0 -448
  840. data/misc/openlayers/tests/Control/Split.html +0 -319
  841. data/misc/openlayers/tests/Control/TouchNavigation.html +0 -155
  842. data/misc/openlayers/tests/Control/TransformFeature.html +0 -129
  843. data/misc/openlayers/tests/Control/UTFGrid.html +0 -120
  844. data/misc/openlayers/tests/Control/WMSGetFeatureInfo.html +0 -644
  845. data/misc/openlayers/tests/Control/WMTSGetFeatureInfo.html +0 -334
  846. data/misc/openlayers/tests/Control/Zoom.html +0 -83
  847. data/misc/openlayers/tests/Control/ZoomBox.html +0 -54
  848. data/misc/openlayers/tests/Control/ZoomIn.html +0 -101
  849. data/misc/openlayers/tests/Control/ZoomOut.html +0 -100
  850. data/misc/openlayers/tests/Control/ZoomToMaxExtent.html +0 -102
  851. data/misc/openlayers/tests/Events.html +0 -487
  852. data/misc/openlayers/tests/Events/buttonclick.html +0 -214
  853. data/misc/openlayers/tests/Events/featureclick.html +0 -91
  854. data/misc/openlayers/tests/Extras.html +0 -21
  855. data/misc/openlayers/tests/Feature.html +0 -205
  856. data/misc/openlayers/tests/Feature/Vector.html +0 -170
  857. data/misc/openlayers/tests/Filter.html +0 -31
  858. data/misc/openlayers/tests/Filter/Comparison.html +0 -373
  859. data/misc/openlayers/tests/Filter/FeatureId.html +0 -67
  860. data/misc/openlayers/tests/Filter/Logical.html +0 -144
  861. data/misc/openlayers/tests/Filter/Spatial.html +0 -112
  862. data/misc/openlayers/tests/Format.html +0 -23
  863. data/misc/openlayers/tests/Format/ArcXML.html +0 -277
  864. data/misc/openlayers/tests/Format/ArcXML/Features.html +0 -69
  865. data/misc/openlayers/tests/Format/Atom.html +0 -450
  866. data/misc/openlayers/tests/Format/CQL.html +0 -364
  867. data/misc/openlayers/tests/Format/CSWGetDomain.html +0 -23
  868. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.html +0 -56
  869. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.js +0 -18
  870. data/misc/openlayers/tests/Format/CSWGetRecords.html +0 -23
  871. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.html +0 -88
  872. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.js +0 -50
  873. data/misc/openlayers/tests/Format/EncodedPolyline.html +0 -372
  874. data/misc/openlayers/tests/Format/Filter.html +0 -21
  875. data/misc/openlayers/tests/Format/Filter/v1.html +0 -404
  876. data/misc/openlayers/tests/Format/Filter/v1_0_0.html +0 -295
  877. data/misc/openlayers/tests/Format/Filter/v1_1_0.html +0 -402
  878. data/misc/openlayers/tests/Format/GML.html +0 -462
  879. data/misc/openlayers/tests/Format/GML/cases.js +0 -232
  880. data/misc/openlayers/tests/Format/GML/v2.html +0 -684
  881. data/misc/openlayers/tests/Format/GML/v3.html +0 -828
  882. data/misc/openlayers/tests/Format/GPX.html +0 -179
  883. data/misc/openlayers/tests/Format/GeoJSON.html +0 -468
  884. data/misc/openlayers/tests/Format/GeoRSS.html +0 -122
  885. data/misc/openlayers/tests/Format/JSON.html +0 -53
  886. data/misc/openlayers/tests/Format/KML.html +0 -1437
  887. data/misc/openlayers/tests/Format/OGCExceptionReport.html +0 -100
  888. data/misc/openlayers/tests/Format/OSM.html +0 -115
  889. data/misc/openlayers/tests/Format/OWSCommon/v1_0_0.html +0 -34
  890. data/misc/openlayers/tests/Format/OWSCommon/v1_1_0.html +0 -34
  891. data/misc/openlayers/tests/Format/OWSContext/v0_3_1.html +0 -278
  892. data/misc/openlayers/tests/Format/QueryStringFilter.html +0 -306
  893. data/misc/openlayers/tests/Format/SLD.html +0 -36
  894. data/misc/openlayers/tests/Format/SLD/v1_0_0.html +0 -1028
  895. data/misc/openlayers/tests/Format/SLD/v1_0_0_GeoServer.html +0 -228
  896. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.html +0 -80
  897. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.js +0 -484
  898. data/misc/openlayers/tests/Format/SOSGetFeatureOfInterest.html +0 -80
  899. data/misc/openlayers/tests/Format/SOSGetObservation.html +0 -183
  900. data/misc/openlayers/tests/Format/Text.html +0 -49
  901. data/misc/openlayers/tests/Format/WCSCapabilities.html +0 -43
  902. data/misc/openlayers/tests/Format/WCSCapabilities/v1.html +0 -87
  903. data/misc/openlayers/tests/Format/WCSGetCoverage.html +0 -80
  904. data/misc/openlayers/tests/Format/WFS.html +0 -81
  905. data/misc/openlayers/tests/Format/WFSCapabilities.html +0 -43
  906. data/misc/openlayers/tests/Format/WFSCapabilities/v1.html +0 -179
  907. data/misc/openlayers/tests/Format/WFSDescribeFeatureType.html +0 -436
  908. data/misc/openlayers/tests/Format/WFST.html +0 -23
  909. data/misc/openlayers/tests/Format/WFST/v1.html +0 -455
  910. data/misc/openlayers/tests/Format/WFST/v1_0_0.html +0 -135
  911. data/misc/openlayers/tests/Format/WFST/v1_1_0.html +0 -236
  912. data/misc/openlayers/tests/Format/WKT.html +0 -297
  913. data/misc/openlayers/tests/Format/WMC.html +0 -315
  914. data/misc/openlayers/tests/Format/WMC/v1.html +0 -266
  915. data/misc/openlayers/tests/Format/WMC/v1_1_0.html +0 -86
  916. data/misc/openlayers/tests/Format/WMSCapabilities.html +0 -20
  917. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1.html +0 -5209
  918. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1_WMSC.html +0 -348
  919. data/misc/openlayers/tests/Format/WMSCapabilities/v1_3_0.html +0 -614
  920. data/misc/openlayers/tests/Format/WMSDescribeLayer.html +0 -65
  921. data/misc/openlayers/tests/Format/WMSGetFeatureInfo.html +0 -319
  922. data/misc/openlayers/tests/Format/WMTSCapabilities.html +0 -20
  923. data/misc/openlayers/tests/Format/WMTSCapabilities/v1_0_0.html +0 -1042
  924. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.html +0 -30
  925. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.js +0 -112
  926. data/misc/openlayers/tests/Format/WPSDescribeProcess.html +0 -206
  927. data/misc/openlayers/tests/Format/WPSExecute.html +0 -549
  928. data/misc/openlayers/tests/Format/XLS/v1_1_0.html +0 -98
  929. data/misc/openlayers/tests/Format/XML.html +0 -900
  930. data/misc/openlayers/tests/Format/XML/VersionedOGC.html +0 -51
  931. data/misc/openlayers/tests/Geometry.html +0 -356
  932. data/misc/openlayers/tests/Geometry/Collection.html +0 -431
  933. data/misc/openlayers/tests/Geometry/Curve.html +0 -157
  934. data/misc/openlayers/tests/Geometry/LineString.html +0 -443
  935. data/misc/openlayers/tests/Geometry/LinearRing.html +0 -362
  936. data/misc/openlayers/tests/Geometry/MultiLineString.html +0 -267
  937. data/misc/openlayers/tests/Geometry/MultiPoint.html +0 -130
  938. data/misc/openlayers/tests/Geometry/MultiPolygon.html +0 -34
  939. data/misc/openlayers/tests/Geometry/Point.html +0 -244
  940. data/misc/openlayers/tests/Geometry/Polygon.html +0 -420
  941. data/misc/openlayers/tests/Handler.html +0 -265
  942. data/misc/openlayers/tests/Handler/Box.html +0 -106
  943. data/misc/openlayers/tests/Handler/Click.html +0 -735
  944. data/misc/openlayers/tests/Handler/Drag.html +0 -603
  945. data/misc/openlayers/tests/Handler/Feature.html +0 -698
  946. data/misc/openlayers/tests/Handler/Hover.html +0 -136
  947. data/misc/openlayers/tests/Handler/Keyboard.html +0 -150
  948. data/misc/openlayers/tests/Handler/MouseWheel.html +0 -182
  949. data/misc/openlayers/tests/Handler/Path.html +0 -1464
  950. data/misc/openlayers/tests/Handler/Pinch.html +0 -285
  951. data/misc/openlayers/tests/Handler/Point.html +0 -600
  952. data/misc/openlayers/tests/Handler/Polygon.html +0 -1161
  953. data/misc/openlayers/tests/Handler/RegularPolygon.html +0 -235
  954. data/misc/openlayers/tests/Icon.html +0 -68
  955. data/misc/openlayers/tests/Kinetic.html +0 -132
  956. data/misc/openlayers/tests/Lang.html +0 -106
  957. data/misc/openlayers/tests/Layer.html +0 -910
  958. data/misc/openlayers/tests/Layer/ArcGIS93Rest.html +0 -324
  959. data/misc/openlayers/tests/Layer/ArcGISCache.html +0 -256
  960. data/misc/openlayers/tests/Layer/ArcGISCache.json +0 -334
  961. data/misc/openlayers/tests/Layer/ArcIMS.html +0 -123
  962. data/misc/openlayers/tests/Layer/Bing.html +0 -200
  963. data/misc/openlayers/tests/Layer/EventPane.html +0 -172
  964. data/misc/openlayers/tests/Layer/FixedZoomLevels.html +0 -137
  965. data/misc/openlayers/tests/Layer/GeoRSS.html +0 -210
  966. data/misc/openlayers/tests/Layer/Google.html +0 -369
  967. data/misc/openlayers/tests/Layer/Google/v3.html +0 -337
  968. data/misc/openlayers/tests/Layer/Grid.html +0 -1593
  969. data/misc/openlayers/tests/Layer/HTTPRequest.html +0 -229
  970. data/misc/openlayers/tests/Layer/Image.html +0 -164
  971. data/misc/openlayers/tests/Layer/KaMap.html +0 -287
  972. data/misc/openlayers/tests/Layer/MapGuide.html +0 -177
  973. data/misc/openlayers/tests/Layer/MapServer.html +0 -238
  974. data/misc/openlayers/tests/Layer/Markers.html +0 -156
  975. data/misc/openlayers/tests/Layer/OSM.html +0 -16
  976. data/misc/openlayers/tests/Layer/PointGrid.html +0 -232
  977. data/misc/openlayers/tests/Layer/PointTrack.html +0 -79
  978. data/misc/openlayers/tests/Layer/SphericalMercator.html +0 -126
  979. data/misc/openlayers/tests/Layer/TMS.html +0 -262
  980. data/misc/openlayers/tests/Layer/Text.html +0 -211
  981. data/misc/openlayers/tests/Layer/TileCache.html +0 -203
  982. data/misc/openlayers/tests/Layer/UTFGrid.html +0 -131
  983. data/misc/openlayers/tests/Layer/Vector.html +0 -879
  984. data/misc/openlayers/tests/Layer/Vector/RootContainer.html +0 -63
  985. data/misc/openlayers/tests/Layer/WMS.html +0 -583
  986. data/misc/openlayers/tests/Layer/WMTS.html +0 -1491
  987. data/misc/openlayers/tests/Layer/WrapDateLine.html +0 -188
  988. data/misc/openlayers/tests/Layer/XYZ.html +0 -266
  989. data/misc/openlayers/tests/Layer/atom-1.0.xml +0 -34
  990. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile.txt +0 -3
  991. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_2.txt +0 -3
  992. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_overflow.txt +0 -3
  993. data/misc/openlayers/tests/Layer/georss.txt +0 -378
  994. data/misc/openlayers/tests/Map.html +0 -2255
  995. data/misc/openlayers/tests/Marker.html +0 -163
  996. data/misc/openlayers/tests/Marker/Box.html +0 -183
  997. data/misc/openlayers/tests/OLLoader.js +0 -26
  998. data/misc/openlayers/tests/OpenLayers1.html +0 -18
  999. data/misc/openlayers/tests/OpenLayers2.html +0 -19
  1000. data/misc/openlayers/tests/OpenLayers3.html +0 -19
  1001. data/misc/openlayers/tests/OpenLayers4.html +0 -18
  1002. data/misc/openlayers/tests/OpenLayersJsFiles.html +0 -27
  1003. data/misc/openlayers/tests/Popup.html +0 -219
  1004. data/misc/openlayers/tests/Popup/Anchored.html +0 -37
  1005. data/misc/openlayers/tests/Popup/FramedCloud.html +0 -18
  1006. data/misc/openlayers/tests/Projection.html +0 -87
  1007. data/misc/openlayers/tests/Protocol.html +0 -63
  1008. data/misc/openlayers/tests/Protocol/CSW.html +0 -90
  1009. data/misc/openlayers/tests/Protocol/HTTP.html +0 -842
  1010. data/misc/openlayers/tests/Protocol/SOS.html +0 -57
  1011. data/misc/openlayers/tests/Protocol/Script.html +0 -282
  1012. data/misc/openlayers/tests/Protocol/WFS.html +0 -471
  1013. data/misc/openlayers/tests/README.txt +0 -16
  1014. data/misc/openlayers/tests/Renderer.html +0 -96
  1015. data/misc/openlayers/tests/Renderer/Canvas.html +0 -501
  1016. data/misc/openlayers/tests/Renderer/Elements.html +0 -651
  1017. data/misc/openlayers/tests/Renderer/SVG.html +0 -441
  1018. data/misc/openlayers/tests/Renderer/VML.html +0 -454
  1019. data/misc/openlayers/tests/Request.html +0 -524
  1020. data/misc/openlayers/tests/Request/XMLHttpRequest.html +0 -59
  1021. data/misc/openlayers/tests/Rule.html +0 -123
  1022. data/misc/openlayers/tests/SingleFile1.html +0 -15
  1023. data/misc/openlayers/tests/SingleFile2.html +0 -15
  1024. data/misc/openlayers/tests/SingleFile3.html +0 -15
  1025. data/misc/openlayers/tests/Strategy.html +0 -94
  1026. data/misc/openlayers/tests/Strategy/BBOX.html +0 -361
  1027. data/misc/openlayers/tests/Strategy/Cluster.html +0 -148
  1028. data/misc/openlayers/tests/Strategy/Filter.html +0 -135
  1029. data/misc/openlayers/tests/Strategy/Fixed.html +0 -253
  1030. data/misc/openlayers/tests/Strategy/Paging.html +0 -113
  1031. data/misc/openlayers/tests/Strategy/Refresh.html +0 -177
  1032. data/misc/openlayers/tests/Strategy/Save.html +0 -127
  1033. data/misc/openlayers/tests/Style.html +0 -426
  1034. data/misc/openlayers/tests/Style2.html +0 -56
  1035. data/misc/openlayers/tests/StyleMap.html +0 -44
  1036. data/misc/openlayers/tests/Symbolizer.html +0 -31
  1037. data/misc/openlayers/tests/Symbolizer/Line.html +0 -42
  1038. data/misc/openlayers/tests/Symbolizer/Point.html +0 -52
  1039. data/misc/openlayers/tests/Symbolizer/Polygon.html +0 -44
  1040. data/misc/openlayers/tests/Symbolizer/Raster.html +0 -32
  1041. data/misc/openlayers/tests/Symbolizer/Text.html +0 -42
  1042. data/misc/openlayers/tests/Test.AnotherWay.baseadditions.js +0 -191
  1043. data/misc/openlayers/tests/Test.AnotherWay.css +0 -243
  1044. data/misc/openlayers/tests/Test.AnotherWay.geom_eq.js +0 -139
  1045. data/misc/openlayers/tests/Test.AnotherWay.js +0 -2498
  1046. data/misc/openlayers/tests/Test.AnotherWay.xml_eq.js +0 -311
  1047. data/misc/openlayers/tests/Tile.html +0 -130
  1048. data/misc/openlayers/tests/Tile/Image.html +0 -490
  1049. data/misc/openlayers/tests/Tile/Image/IFrame.html +0 -183
  1050. data/misc/openlayers/tests/Tile/UTFGrid.html +0 -306
  1051. data/misc/openlayers/tests/TileManager.html +0 -137
  1052. data/misc/openlayers/tests/Tween.html +0 -116
  1053. data/misc/openlayers/tests/Util.html +0 -1180
  1054. data/misc/openlayers/tests/Util/vendorPrefix.html +0 -117
  1055. data/misc/openlayers/tests/Util_common.js +0 -64
  1056. data/misc/openlayers/tests/Util_w3c.html +0 -35
  1057. data/misc/openlayers/tests/WPSClient.html +0 -108
  1058. data/misc/openlayers/tests/WPSProcess.html +0 -188
  1059. data/misc/openlayers/tests/atom-1.0.xml +0 -34
  1060. data/misc/openlayers/tests/auto-tests.html +0 -2447
  1061. data/misc/openlayers/tests/data/geos_wkt_intersects.js +0 -495
  1062. data/misc/openlayers/tests/data/osm.js +0 -14
  1063. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  1064. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  1065. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  1066. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  1067. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  1068. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  1069. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  1070. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  1071. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  1072. data/misc/openlayers/tests/data/utfgrid/demo-1.1.json +0 -1
  1073. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/0.json +0 -1
  1074. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/1.json +0 -1
  1075. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/2.json +0 -1
  1076. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/0.json +0 -1
  1077. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/1.json +0 -1
  1078. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/2.json +0 -1
  1079. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/0.json +0 -1
  1080. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/1.json +0 -1
  1081. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/2.json +0 -1
  1082. data/misc/openlayers/tests/data_Layer_Text_textfile.txt +0 -3
  1083. data/misc/openlayers/tests/data_Layer_Text_textfile_2.txt +0 -3
  1084. data/misc/openlayers/tests/data_Layer_Text_textfile_overflow.txt +0 -3
  1085. data/misc/openlayers/tests/deprecated/Ajax.html +0 -28
  1086. data/misc/openlayers/tests/deprecated/BaseTypes/Class.html +0 -142
  1087. data/misc/openlayers/tests/deprecated/BaseTypes/Element.html +0 -56
  1088. data/misc/openlayers/tests/deprecated/Control/MouseToolbar.html +0 -60
  1089. data/misc/openlayers/tests/deprecated/Geometry/Rectangle.html +0 -77
  1090. data/misc/openlayers/tests/deprecated/Layer/GML.html +0 -61
  1091. data/misc/openlayers/tests/deprecated/Layer/MapServer.html +0 -59
  1092. data/misc/openlayers/tests/deprecated/Layer/MapServer/Untiled.html +0 -158
  1093. data/misc/openlayers/tests/deprecated/Layer/WFS.html +0 -178
  1094. data/misc/openlayers/tests/deprecated/Layer/WMS.html +0 -60
  1095. data/misc/openlayers/tests/deprecated/Layer/WMS/Post.html +0 -89
  1096. data/misc/openlayers/tests/deprecated/Layer/Yahoo.html +0 -121
  1097. data/misc/openlayers/tests/deprecated/Layer/mice.xml +0 -156
  1098. data/misc/openlayers/tests/deprecated/Layer/owls.xml +0 -156
  1099. data/misc/openlayers/tests/deprecated/Popup/AnchoredBubble.html +0 -61
  1100. data/misc/openlayers/tests/deprecated/Protocol/SQL.html +0 -24
  1101. data/misc/openlayers/tests/deprecated/Protocol/SQL/Gears.html +0 -474
  1102. data/misc/openlayers/tests/deprecated/Renderer/SVG2.html +0 -399
  1103. data/misc/openlayers/tests/deprecated/Tile/WFS.html +0 -215
  1104. data/misc/openlayers/tests/deprecated/Util.html +0 -20
  1105. data/misc/openlayers/tests/georss.txt +0 -378
  1106. data/misc/openlayers/tests/grid_inittiles.html +0 -30
  1107. data/misc/openlayers/tests/index.html +0 -6
  1108. data/misc/openlayers/tests/list-tests.html +0 -260
  1109. data/misc/openlayers/tests/manual/ajax.html +0 -49
  1110. data/misc/openlayers/tests/manual/ajax.txt +0 -1
  1111. data/misc/openlayers/tests/manual/alloverlays-mixed.html +0 -55
  1112. data/misc/openlayers/tests/manual/arcims-2117.html +0 -103
  1113. data/misc/openlayers/tests/manual/arkansas.rss +0 -9
  1114. data/misc/openlayers/tests/manual/big-georss.html +0 -33
  1115. data/misc/openlayers/tests/manual/box-quirks.html +0 -52
  1116. data/misc/openlayers/tests/manual/box-strict.html +0 -46
  1117. data/misc/openlayers/tests/manual/clip-features-svg.html +0 -128
  1118. data/misc/openlayers/tests/manual/dateline-sketch.html +0 -66
  1119. data/misc/openlayers/tests/manual/dateline-smallextent.html +0 -61
  1120. data/misc/openlayers/tests/manual/draw-feature.html +0 -73
  1121. data/misc/openlayers/tests/manual/feature-handler.html +0 -126
  1122. data/misc/openlayers/tests/manual/geodesic.html +0 -160
  1123. data/misc/openlayers/tests/manual/geojson-geomcoll-reprojection.html +0 -74
  1124. data/misc/openlayers/tests/manual/google-fullscreen-overlay.html +0 -54
  1125. data/misc/openlayers/tests/manual/google-panning.html +0 -122
  1126. data/misc/openlayers/tests/manual/google-resize.html +0 -55
  1127. data/misc/openlayers/tests/manual/google-tilt.html +0 -37
  1128. data/misc/openlayers/tests/manual/google-v3-resize.html +0 -54
  1129. data/misc/openlayers/tests/manual/loadend.html +0 -73
  1130. data/misc/openlayers/tests/manual/map-events.html +0 -38
  1131. data/misc/openlayers/tests/manual/memory/Marker-2258.html +0 -60
  1132. data/misc/openlayers/tests/manual/memory/PanZoom-2323.html +0 -41
  1133. data/misc/openlayers/tests/manual/memory/RemoveChild-2170.html +0 -56
  1134. data/misc/openlayers/tests/manual/memory/VML-2170.html +0 -49
  1135. data/misc/openlayers/tests/manual/multiple-google-layers.html +0 -135
  1136. data/misc/openlayers/tests/manual/overviewmap-projection.html +0 -70
  1137. data/misc/openlayers/tests/manual/page-position.html +0 -103
  1138. data/misc/openlayers/tests/manual/pan-redraw-svg.html +0 -58
  1139. data/misc/openlayers/tests/manual/popup-keepInMap.html +0 -100
  1140. data/misc/openlayers/tests/manual/reflow.html +0 -59
  1141. data/misc/openlayers/tests/manual/renderedDimensions.html +0 -113
  1142. data/misc/openlayers/tests/manual/select-feature-right-click.html +0 -86
  1143. data/misc/openlayers/tests/manual/select-feature.html +0 -75
  1144. data/misc/openlayers/tests/manual/tiles-loading.html +0 -122
  1145. data/misc/openlayers/tests/manual/tween.html +0 -82
  1146. data/misc/openlayers/tests/manual/vector-features-performance.html +0 -149
  1147. data/misc/openlayers/tests/manual/vector-layer-zindex.html +0 -143
  1148. data/misc/openlayers/tests/mice.xml +0 -156
  1149. data/misc/openlayers/tests/node.js/mockdom.js +0 -104
  1150. data/misc/openlayers/tests/node.js/node-tests.cfg +0 -12
  1151. data/misc/openlayers/tests/node.js/node.js +0 -1
  1152. data/misc/openlayers/tests/node.js/run-test.js +0 -26
  1153. data/misc/openlayers/tests/node.js/run.sh +0 -10
  1154. data/misc/openlayers/tests/owls.xml +0 -156
  1155. data/misc/openlayers/tests/run-tests.html +0 -155
  1156. data/misc/openlayers/tests/selenium/remotecontrol/config.cfg +0 -48
  1157. data/misc/openlayers/tests/selenium/remotecontrol/selenium.py +0 -1846
  1158. data/misc/openlayers/tests/selenium/remotecontrol/setup.txt +0 -8
  1159. data/misc/openlayers/tests/selenium/remotecontrol/test_ol.py +0 -95
  1160. data/misc/openlayers/tests/speed/geometry.html +0 -43
  1161. data/misc/openlayers/tests/speed/string_format.html +0 -29
  1162. data/misc/openlayers/tests/speed/vector-renderers.html +0 -25
  1163. data/misc/openlayers/tests/speed/vector-renderers.js +0 -70
  1164. data/misc/openlayers/tests/speed/wmc_speed.html +0 -30
  1165. data/misc/openlayers/tests/speed/wmscaps.html +0 -52
  1166. data/misc/openlayers/tests/speed/wmscaps.js +0 -4956
  1167. data/misc/openlayers/tests/speed/wmscaps.xml +0 -4954
  1168. data/misc/openlayers/tests/throws.js +0 -82
  1169. data/misc/openlayers/theme/default/google.css +0 -9
  1170. data/misc/openlayers/theme/default/google.tidy.css +0 -1
  1171. data/misc/openlayers/theme/default/ie6-style.css +0 -10
  1172. data/misc/openlayers/theme/default/ie6-style.tidy.css +0 -1
  1173. data/misc/openlayers/theme/default/img/add_point_off.png +0 -0
  1174. data/misc/openlayers/theme/default/img/add_point_on.png +0 -0
  1175. data/misc/openlayers/theme/default/img/blank.gif +0 -0
  1176. data/misc/openlayers/theme/default/img/close.gif +0 -0
  1177. data/misc/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  1178. data/misc/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  1179. data/misc/openlayers/theme/default/img/draw_line_off.png +0 -0
  1180. data/misc/openlayers/theme/default/img/draw_line_on.png +0 -0
  1181. data/misc/openlayers/theme/default/img/draw_point_off.png +0 -0
  1182. data/misc/openlayers/theme/default/img/draw_point_on.png +0 -0
  1183. data/misc/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  1184. data/misc/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  1185. data/misc/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  1186. data/misc/openlayers/theme/default/img/move_feature_off.png +0 -0
  1187. data/misc/openlayers/theme/default/img/move_feature_on.png +0 -0
  1188. data/misc/openlayers/theme/default/img/navigation_history.png +0 -0
  1189. data/misc/openlayers/theme/default/img/overview_replacement.gif +0 -0
  1190. data/misc/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  1191. data/misc/openlayers/theme/default/img/pan-panel.png +0 -0
  1192. data/misc/openlayers/theme/default/img/pan_off.png +0 -0
  1193. data/misc/openlayers/theme/default/img/pan_on.png +0 -0
  1194. data/misc/openlayers/theme/default/img/panning-hand-off.png +0 -0
  1195. data/misc/openlayers/theme/default/img/panning-hand-on.png +0 -0
  1196. data/misc/openlayers/theme/default/img/remove_point_off.png +0 -0
  1197. data/misc/openlayers/theme/default/img/remove_point_on.png +0 -0
  1198. data/misc/openlayers/theme/default/img/ruler.png +0 -0
  1199. data/misc/openlayers/theme/default/img/save_features_off.png +0 -0
  1200. data/misc/openlayers/theme/default/img/save_features_on.png +0 -0
  1201. data/misc/openlayers/theme/default/img/view_next_off.png +0 -0
  1202. data/misc/openlayers/theme/default/img/view_next_on.png +0 -0
  1203. data/misc/openlayers/theme/default/img/view_previous_off.png +0 -0
  1204. data/misc/openlayers/theme/default/img/view_previous_on.png +0 -0
  1205. data/misc/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  1206. data/misc/openlayers/theme/default/img/zoom-panel.png +0 -0
  1207. data/misc/openlayers/theme/default/style.css +0 -516
  1208. data/misc/openlayers/theme/default/style.mobile.css +0 -70
  1209. data/misc/openlayers/theme/default/style.mobile.tidy.css +0 -1
  1210. data/misc/openlayers/theme/default/style.tidy.css +0 -1
  1211. data/misc/openlayers/tools/BeautifulSoup.py +0 -1767
  1212. data/misc/openlayers/tools/README.txt +0 -14
  1213. data/misc/openlayers/tools/closure_library_jscompiler.py +0 -71
  1214. data/misc/openlayers/tools/closure_ws.py +0 -28
  1215. data/misc/openlayers/tools/exampleparser.py +0 -251
  1216. data/misc/openlayers/tools/jsmin.c +0 -272
  1217. data/misc/openlayers/tools/jsmin.py +0 -216
  1218. data/misc/openlayers/tools/mergejs.py +0 -287
  1219. data/misc/openlayers/tools/minimize.py +0 -47
  1220. data/misc/openlayers/tools/oldot.py +0 -43
  1221. data/misc/openlayers/tools/release.sh +0 -71
  1222. data/misc/openlayers/tools/shrinksafe.py +0 -54
  1223. data/misc/openlayers/tools/toposort.py +0 -35
  1224. data/misc/openlayers/tools/uglify_js.py +0 -35
  1225. data/misc/openlayers/tools/update_dev_dir.sh +0 -103
@@ -1,337 +0,0 @@
1
- <html>
2
- <head>
3
- <script src="http://maps.google.com/maps/api/js?sensor=false&amp;v=3.6"></script>
4
- <script src="../../OLLoader.js"></script>
5
- <script type="text/javascript">
6
-
7
- var layer;
8
-
9
- function test_Layer_Google_constructor (t) {
10
- t.plan( 5 );
11
-
12
- var map = new OpenLayers.Map('map');
13
- var layer = new OpenLayers.Layer.Google('Goog Layer');
14
- map.addLayer(layer);
15
-
16
-
17
- t.ok( layer instanceof OpenLayers.Layer.Google, "new OpenLayers.Layer.Google returns object" );
18
- t.eq( layer.CLASS_NAME, "OpenLayers.Layer.Google", "CLASS_NAME variable set correctly");
19
-
20
- t.eq( layer.name, "Goog Layer", "layer.name is correct" );
21
-
22
- t.ok ( layer.mapObject != null, "GMap Object correctly loaded");
23
-
24
- t.eq(layer.version, "3", "API version 3 detected.");
25
- }
26
-
27
- function test_clone(t) {
28
- t.plan(2);
29
- var layer, clone;
30
-
31
- // test default layer
32
- layer = new OpenLayers.Layer.Google();
33
- clone = layer.clone();
34
- t.ok(clone instanceof OpenLayers.Layer.Google, "[default] good instance");
35
-
36
- layer.destroy();
37
- clone.destroy();
38
-
39
- // test with alt type
40
- layer = new OpenLayers.Layer.Google(null, {type: google.maps.MapTypeId.SATELLITE});
41
- clone = layer.clone();
42
- t.ok(clone.type === google.maps.MapTypeId.SATELLITE, "[sat] correct type");
43
-
44
- layer.destroy();
45
- clone.destroy();
46
- }
47
-
48
- function test_Layer_Google_isBaseLayer (t) {
49
- t.plan(1);
50
-
51
- var layer = new OpenLayers.Layer.Google('Goog Layer');
52
-
53
- t.ok(layer.isBaseLayer, "a default load of google layer responds as a base layer");
54
- }
55
-
56
- function test_Layer_Google_Translation_lonlat (t) {
57
- t.plan( 4 );
58
-
59
- var map = new OpenLayers.Map('map');
60
- var layer = new OpenLayers.Layer.Google('Goog Layer');
61
- map.addLayer(layer);
62
-
63
- // these two lines specify an appropriate translation.
64
- // the code afterwards works by itself to test that translation
65
- // works correctly both ways.
66
- var gLatLng = new google.maps.LatLng(50,100);
67
- // v3 uses sphericalMercator by default
68
- var correspondingOLLonLat = layer.forwardMercator(100, 50);
69
-
70
- olLonLat = layer.getOLLonLatFromMapObjectLonLat(gLatLng);
71
- t.ok(olLonLat.equals(correspondingOLLonLat), "Translation from GLatLng to OpenLayers.LonLat works");
72
-
73
- var transGLatLng = layer.getMapObjectLonLatFromOLLonLat(olLonLat);
74
- t.ok( transGLatLng.equals(gLatLng), "Translation from OpenLayers.LonLat to GLatLng works");
75
-
76
- t.ok( layer.getMapObjectLonLatFromOLLonLat(null) == null, "getGLatLngFromOLLonLat(null) returns null");
77
- t.ok( layer.getOLLonLatFromMapObjectLonLat(null) == null, "getOLLonLatFromGLatLng(null) returns null");
78
- }
79
-
80
- function test_Layer_Google_Translation_pixel (t) {
81
- t.plan( 4 );
82
-
83
- var map = new OpenLayers.Map('map');
84
- var layer = new OpenLayers.Layer.Google('Goog Layer');
85
- map.addLayer(layer);
86
-
87
- // these two lines specify an appropriate translation.
88
- // the code afterwards works by itself to test that translation
89
- // works correctly both ways.
90
- var gPoint = new google.maps.Point(50,100);
91
- var correspondingOLPixel = new OpenLayers.Pixel(50, 100);
92
-
93
-
94
- olPixel = layer.getOLPixelFromMapObjectPixel(gPoint);
95
- t.ok( olPixel.equals(correspondingOLPixel), "Translation from GPoint to OpenLayers.Pixel works");
96
-
97
- var transGPoint = layer.getMapObjectPixelFromOLPixel(olPixel);
98
- t.ok( transGPoint.equals(gPoint), "Translation from OpenLayers.Pixel to GPoint works");
99
-
100
- t.ok( layer.getMapObjectPixelFromOLPixel(null) == null, "getGPointFromOLPixel(null) returns null");
101
- t.ok( layer.getOLPixelFromMapObjectPixel(null) == null, "getOLPixelFromGPoint(null) returns null");
102
- }
103
-
104
- function test_Layer_destroy (t) {
105
- t.plan( 5 );
106
-
107
- var map = new OpenLayers.Map('map');
108
-
109
- layer = new OpenLayers.Layer.Google('Test Layer');
110
- map.addLayer(layer);
111
-
112
- layer.destroy();
113
-
114
- t.eq( layer.name, null, "layer.name is null after destroy" );
115
- t.eq( layer.div, null, "layer.div is null after destroy" );
116
- t.eq( layer.map, null, "layer.map is null after destroy" );
117
- t.eq( layer.options, null, "layer.options is null after destroy" );
118
- t.eq( layer.gmap, null, "layer.gmap is null after destroy" );
119
- }
120
-
121
- function test_Layer_Goole_forwardMercator(t){
122
- t.plan(2);
123
- //Just test that the fowardMercator function still exists.
124
- var layer = new OpenLayers.Layer.Google('Test Layer', {'sphericalMercator': true});
125
- layer.forwardMercator = function(evt) {
126
- t.ok(true,
127
- "GoogleMercator.forwardMercator was called and executed." );
128
- return;
129
- }
130
- layer.forwardMercator();
131
- //Now test the fowardMercator returns the expected LonLat object
132
- var layer = new OpenLayers.Layer.Google('Test Layer', {'sphericalMercator': true});
133
- var lonlat2 = new OpenLayers.LonLat(Math.random(),Math.random());
134
- var result = layer.forwardMercator(lonlat2.lon, lonlat2.lat);
135
- t.ok(result instanceof OpenLayers.LonLat, "OpenLayers.Google.fowardMercator returns LonLat object" );
136
- }
137
-
138
- function test_Layer_Google_overlay(t) {
139
- // Test for #849.
140
- t.plan(1);
141
- var map = new OpenLayers.Map( 'map' ,
142
- { controls: [] , 'numZoomLevels':20});
143
-
144
- var satellite = new OpenLayers.Layer.Google( "Google Satellite" , {type: google.maps.MapTypeId.SATELLITE, 'maxZoomLevel':18} );
145
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
146
- "http://labs.metacarta.com/wms/vmap0", {layers: 'basic', 'transparent':true},
147
- {isBaseLayer: false, singleTile: true, displayOutsideMaxExtent: true} );
148
-
149
- map.addLayers([satellite, layer]);
150
- map.setCenter(new OpenLayers.LonLat(10.205188,48.857593), 5);
151
- map.zoomIn();
152
- var size = map.getSize();
153
- var px = new OpenLayers.Pixel(size.w, size.h);
154
- var br = map.getLonLatFromPixel(px);
155
- t.ok(layer.grid[0][0].bounds.containsLonLat(br), "Bottom right pixel is covered by untiled WMS layer");
156
- }
157
- function test_Layer_Google_isBaseLayer (t) {
158
- t.plan(3);
159
- var map = new OpenLayers.Map( 'map' ,
160
- { controls: [] , 'numZoomLevels':20});
161
-
162
- var satellite = new OpenLayers.Layer.Google( "Google Satellite" , {type: google.maps.MapTypeId.SATELLITE, 'maxZoomLevel':18} );
163
- map.addLayers([satellite]);
164
- map.zoomToMaxExtent();
165
-
166
- t.eq(satellite.div.style.display, "", "Satellite layer is visible.");
167
- satellite.setVisibility(false);
168
- t.eq(satellite.div.style.display, "none", "Satellite layer is not visible.");
169
- satellite.setVisibility(true);
170
- t.eq(satellite.div.style.display, "block", "Satellite layer is visible.");
171
- }
172
-
173
- function test_allOverlays_invisible(t) {
174
-
175
- t.plan(1);
176
-
177
- var map = new OpenLayers.Map('map', {allOverlays: true});
178
-
179
- var osm = new OpenLayers.Layer.OSM();
180
- var gmap = new OpenLayers.Layer.Google("Google Streets", {visibility: false});
181
-
182
- // keep track of last argument to setGMapVisibility
183
- var visible;
184
- var original = gmap.setGMapVisibility;
185
- gmap.setGMapVisibility = function(vis) {
186
- visible = vis;
187
- original.apply(gmap, arguments);
188
- }
189
-
190
- map.addLayers([osm, gmap]);
191
- map.zoomToMaxExtent();
192
-
193
- t.ok(visible === false, "setGMapVisibility last called with false");
194
-
195
- map.destroy();
196
-
197
- }
198
-
199
- function test_allOverlays_pan(t) {
200
-
201
- t.plan(8);
202
-
203
- var origPrecision = OpenLayers.Util.DEFAULT_PRECISION;
204
- // GMaps v3 seems to use a default precision of 13, which is lower
205
- // than what we use in OpenLayers.
206
- // See http://trac.osgeo.org/openlayers/ticket/3059
207
- OpenLayers.Util.DEFAULT_PRECISION = 13;
208
-
209
- var map = new OpenLayers.Map('map', {allOverlays: true});
210
-
211
- var gmap = new OpenLayers.Layer.Google("Google Streets");
212
- var osm = new OpenLayers.Layer.OSM();
213
- map.addLayers([gmap, osm]);
214
-
215
- var origin = new OpenLayers.LonLat(1000000, 6000000);
216
- map.setCenter(origin, 4);
217
- var resolution = map.getResolution();
218
-
219
- var dx, dy, center, expected;
220
-
221
- // confirm that panning works with Google visible
222
- dx = 100, dy = -100;
223
- map.pan(dx, dy, {animate: false});
224
- center = map.getCenter();
225
- expected = new OpenLayers.LonLat(
226
- origin.lon + (resolution * dx),
227
- origin.lat - (resolution * dy)
228
- );
229
- t.eq(center.lon, expected.lon, "x panning with Google visible " + dx + ", " + dy);
230
- t.eq(center.lat, expected.lat, "y panning with Google visible " + dx + ", " + dy);
231
- map.pan(-dx, -dy, {animate: false});
232
- center = map.getCenter();
233
- t.eq(center.lon, origin.lon, "x panning with Google visible " + (-dx) + ", " + (-dy));
234
- t.eq(center.lat, origin.lat, "y panning with Google visible " + (-dx) + ", " + (-dy));
235
-
236
- // confirm that panning works with Google invisible
237
- gmap.setVisibility(false);
238
- dx = 100, dy = -100;
239
- map.pan(dx, dy, {animate: false});
240
- center = map.getCenter();
241
- expected = new OpenLayers.LonLat(
242
- origin.lon + (resolution * dx),
243
- origin.lat - (resolution * dy)
244
- );
245
- t.eq(center.lon, expected.lon, "x panning with Google invisible " + dx + ", " + dy);
246
- t.eq(center.lat, expected.lat, "y panning with Google invisible " + dx + ", " + dy);
247
- map.pan(-dx, -dy, {animate: false});
248
- center = map.getCenter();
249
- t.eq(center.lon, origin.lon, "x panning with Google invisible " + (-dx) + ", " + (-dy));
250
- t.eq(center.lat, origin.lat, "y panning with Google invisible " + (-dx) + ", " + (-dy));
251
-
252
- map.destroy();
253
- OpenLayers.Util.DEFAULT_PRECISION = origPrecision;
254
- }
255
-
256
- function test_wrapDateLine(t) {
257
- t.plan(2);
258
-
259
- var origPrecision = OpenLayers.Util.DEFAULT_PRECISION;
260
- // Our default precision is very high - millimeters should be enough.
261
- // See http://trac.osgeo.org/openlayers/ticket/3059
262
- OpenLayers.Util.DEFAULT_PRECISION = 12;
263
-
264
- var map = new OpenLayers.Map("map");
265
-
266
- var gmap = new OpenLayers.Layer.Google("Google Streets");
267
- map.addLayer(gmap);
268
- map.setCenter(new OpenLayers.LonLat(0, 0), 1);
269
-
270
- var center;
271
-
272
- // pan to the edge of the world
273
- map.pan(256, 0, {animate: false});
274
- center = map.getCenter();
275
- t.eq(center.lon, 20037508.34, "edge of the world");
276
- // pan off the edge of the world
277
- map.pan(100, 0, {animate: false});
278
- center = map.getCenter();
279
- var expect = OpenLayers.Util.toFloat(100 * map.getResolution() - 20037508.34);
280
- t.eq(center.lon, expect, "magically back in the western hemisphere");
281
-
282
- map.destroy();
283
- OpenLayers.Util.DEFAULT_PRECISION = origPrecision;
284
- }
285
-
286
- function test_respectDateLine(t) {
287
- t.plan(2);
288
-
289
- var map = new OpenLayers.Map("map");
290
-
291
- var gmap = new OpenLayers.Layer.Google("Google Streets", {wrapDateLine: false});
292
- map.addLayer(gmap);
293
- map.setCenter(new OpenLayers.LonLat(0, 0), 1);
294
-
295
- var center;
296
-
297
- // pan to the edge of the world
298
- map.pan(256, 0, {animate: false});
299
- center = map.getCenter();
300
- t.eq(center.lon, 20037508.34, "edge of the world");
301
- // pan off the edge of the world
302
- map.pan(100, 0, {animate: false});
303
- center = map.getCenter();
304
- t.eq(center.lon, 20037508.34, "whew, still on the edge");
305
-
306
- map.destroy();
307
-
308
- }
309
-
310
- function test_moveViewportDiv(t) {
311
- t.plan(2);
312
-
313
- var map = new OpenLayers.Map('map', {
314
- projection: 'EPSG:3857',
315
- center: [0, 0],
316
- zoom: 1
317
- });
318
- var gmap = new OpenLayers.Layer.Google();
319
- map.addLayer(gmap);
320
-
321
- t.delay_call(4, function() {
322
- t.ok(map.viewPortDiv.parentNode !== map.div, 'viewport moved inside GMaps');
323
-
324
- var osm = new OpenLayers.Layer.OSM();
325
- map.addLayer(osm);
326
- map.setBaseLayer(osm);
327
-
328
- t.ok(map.viewPortDiv.parentNode === map.div, 'viewport moved back');
329
- });
330
- }
331
-
332
- </script>
333
- </head>
334
- <body>
335
- <div id="map" style="width:500px; height: 500px"></div>
336
- </body>
337
- </html>
@@ -1,1593 +0,0 @@
1
- <html>
2
- <head>
3
- <script src="../OLLoader.js"></script>
4
- <script type="text/javascript">
5
-
6
- var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
7
- var layer;
8
-
9
- var name = 'Test Layer';
10
- var url = "http://vmap0.tiles.osgeo.org/wms/vmap0";
11
- var params = {layers: 'basic', format: 'image/png'};
12
-
13
- /**
14
- * NOTE TO READER:
15
- *
16
- * Some of the tests on the Grid class actually use the WMS class.
17
- * This is because WMS is a subclass of Grid and it implements the
18
- * core functions which are necessary to test the tile-generation
19
- * mechanism.
20
- *
21
- */
22
-
23
-
24
- function test_constructor (t) {
25
- t.plan( 7 );
26
-
27
- layer = new OpenLayers.Layer.Grid(name, url, params, null);
28
- t.ok( layer instanceof OpenLayers.Layer.Grid, "returns OpenLayers.Layer.Grid object" );
29
- t.eq( layer.buffer, 0, "buffer default is 0");
30
- t.eq( layer.ratio, 1.5, "ratio default is 1.5");
31
- t.eq( layer.numLoadingTiles, 0, "numLoadingTiles starts at 0");
32
- t.ok( layer.tileClass === OpenLayers.Tile.Image, "tileClass default is OpenLayers.Tile.Image");
33
- t.eq( layer.className, 'olLayerGrid', "className default is olLayerGrid");
34
-
35
- var obj = {};
36
- var func = function() {};
37
- layer.events.register('tileloaded', obj, func);
38
-
39
- t.ok( layer.events.listeners['tileloaded'].length == 1, "one listener for tileloaded after register");
40
- }
41
-
42
- function test_constructor_singleTile(t) {
43
- t.plan(2);
44
- layer = new OpenLayers.Layer.Grid(name, url, params, {singleTile: true});
45
- t.eq( layer.className, 'olLayerGridSingleTile', "className default is olLayerGridSingleTile");
46
- t.eq( layer.removeBackBufferDelay, 0, "removeBackBufferDelay default is 0");
47
- }
48
-
49
- function test_setMap(t) {
50
- t.plan(1);
51
- var map = new OpenLayers.Map('map', {tileManager: null});
52
- layer = new OpenLayers.Layer.Grid(name, url, params, null);
53
- map.addLayer(layer);
54
- t.ok(OpenLayers.Element.hasClass(layer.div, "olLayerGrid"),
55
- "olLayerGrid class assigned to layer div");
56
- map.destroy();
57
- }
58
-
59
- function test_setMap_singleTile(t) {
60
- t.plan(1);
61
- var map = new OpenLayers.Map('map');
62
- layer = new OpenLayers.Layer.Grid(name, url, params, {singleTile: true});
63
- map.addLayer(layer);
64
- t.ok(OpenLayers.Element.hasClass(layer.div, "olLayerGridSingleTile"),
65
- "olLayerGridSingleTile class assigned to layer div");
66
- map.destroy();
67
- }
68
-
69
- function test_Layer_Grid_inittiles (t) {
70
- t.plan( 2 );
71
- var map = new OpenLayers.Map('map');
72
- layer = new OpenLayers.Layer.WMS(name, url, params, {buffer:2});
73
- map.addLayer(layer);
74
- map.setCenter(new OpenLayers.LonLat(0,0),5);
75
- t.eq( layer.grid.length, 8, "Grid rows is correct." );
76
- t.eq( layer.grid[0].length, 7, "Grid cols is correct." );
77
-
78
- }
79
-
80
- function test_Layer_Grid_tileClass(t) {
81
- t.plan(2);
82
-
83
- var myTileClass = OpenLayers.Class(OpenLayers.Tile, {});
84
- var map = new OpenLayers.Map('map');
85
- layer = new OpenLayers.Layer.WMS(name, url, params, {
86
- tileClass: myTileClass
87
- });
88
- map.addLayer(layer);
89
-
90
- t.ok(layer.tileClass === myTileClass, "tileClass is set");
91
- var instance = layer.addTile(new OpenLayers.Bounds(-10, 10, 50, 100),
92
- new OpenLayers.Pixel(10, 12));
93
-
94
- t.ok(instance instanceof myTileClass, "addTile returns type is correct");
95
-
96
- map.destroy();
97
- }
98
-
99
- function test_Layer_Grid_clearTiles (t) {
100
- t.plan(4);
101
-
102
- var map = new OpenLayers.Map('map');
103
- layer = new OpenLayers.Layer.WMS(name, url, params);
104
- map.addLayer(layer);
105
-
106
- map.setCenter(new OpenLayers.LonLat(0,0));
107
-
108
- var numTiles = layer.grid.length * layer.grid[0].length;
109
-
110
- //our count of how many times tile.destroy() is called
111
- tilesDeleted = 0;
112
-
113
- //this will get set to false if we try to destroy a tile that has
114
- // not been unhookedv
115
- allTilesUnhooked = true;
116
-
117
- OpenLayers.Tile.Image.prototype._destroy =
118
- OpenLayers.Tile.Image.prototype.destroy;
119
-
120
- OpenLayers.Tile.Image.prototype.destroy = function() {
121
- if (!this.unhooked) {
122
- allTilesUnhooked = false;
123
- }
124
- tilesDeleted++;
125
- }
126
-
127
- layer.removeTileMonitoringHooks = function(tile) {
128
- tile.unhooked = true;
129
- }
130
-
131
- layer.clearGrid();
132
-
133
- t.ok( layer.grid != null, "layer.grid does not get nullified" );
134
- t.eq(tilesDeleted, numTiles, "all tiles destroy()ed properly");
135
- t.ok(allTilesUnhooked, "all tiles unhooked before being destroyed");
136
- t.eq(layer.gridResolution, null, "gridResolution set to null");
137
-
138
- OpenLayers.Tile.Image.prototype.destroy =
139
- OpenLayers.Tile.Image.prototype._destroy;
140
-
141
- }
142
-
143
-
144
- function test_Layer_Grid_getTilesBounds(t) {
145
- t.plan(4);
146
-
147
- layer = new OpenLayers.Layer.WMS(name, url, params);
148
-
149
-
150
- //normal grid
151
- var bl = { bounds: new OpenLayers.Bounds(1,2,2,3)};
152
- var tr = { bounds: new OpenLayers.Bounds(2,3,3,4)};
153
- layer.grid = [ [6, tr],
154
- [bl, 7]];
155
-
156
- var bounds = layer.getTilesBounds();
157
- var testBounds = new OpenLayers.Bounds(1,2,3,4);
158
-
159
- t.ok( bounds.equals(testBounds), "getTilesBounds() returns correct bounds");
160
-
161
- //no tiles
162
- layer.grid = [];
163
- bounds = layer.getTilesBounds();
164
-
165
- t.ok(bounds == null, "getTilesBounds() on a tile-less grid returns null");
166
-
167
-
168
- //singleTile
169
- var singleTile = { bounds: new OpenLayers.Bounds(1,2,3,4)};
170
- layer.grid = [ [ singleTile ] ];
171
- bounds = layer.getTilesBounds();
172
-
173
- t.ok( bounds.equals(testBounds), "getTilesBounds() returns correct bounds");
174
-
175
- //world wrapped around the dateline
176
- var bl = { bounds: new OpenLayers.Bounds(0,-90,180,90)};
177
- var tr = { bounds: new OpenLayers.Bounds(-180,-90,0,90)};
178
- layer.grid = [[bl, tr]];
179
-
180
- var bounds = layer.getTilesBounds();
181
- var testBounds = new OpenLayers.Bounds(0,-90,360,90);
182
-
183
- t.ok( bounds.equals(testBounds), "getTilesBounds() returns correct bounds");
184
-
185
- }
186
-
187
- function test_Layer_Grid_getResolution(t) {
188
- t.plan( 1 );
189
-
190
- var map = new OpenLayers.Map('map');
191
- layer = new OpenLayers.Layer.WMS(name, url, params);
192
- map.addLayer(layer);
193
-
194
- map.zoom = 5;
195
-
196
- t.eq( layer.getResolution(), 0.0439453125, "getResolution() returns correct value");
197
- }
198
-
199
- function test_Layer_Grid_getZoomForExtent(t) {
200
- t.plan( 2 );
201
- var bounds, zoom;
202
-
203
- var map = new OpenLayers.Map('map');
204
- layer = new OpenLayers.Layer.WMS(name, url, params);
205
- map.addLayer(layer);
206
-
207
- bounds = new OpenLayers.Bounds(10,10,12,12);
208
- zoom = layer.getZoomForExtent(bounds);
209
-
210
- t.eq( zoom, 8, "getZoomForExtent() returns correct value");
211
-
212
- bounds = new OpenLayers.Bounds(10,10,100,100);
213
- zoom = layer.getZoomForExtent(bounds);
214
-
215
- t.eq( zoom, 2, "getZoomForExtent() returns correct value");
216
- }
217
-
218
- function test_moveGriddedTiles(t) {
219
- t.plan(1);
220
- var map = new OpenLayers.Map('map');
221
- layer = new OpenLayers.Layer.WMS(name, url, params, {buffer: 2});
222
- map.addLayer(layer);
223
- map.setCenter([0, 0], 5);
224
- var count = 0;
225
- layer.shiftColumn = function(prepend) {
226
- ++count;
227
- OpenLayers.Layer.WMS.prototype.shiftColumn.apply(this, arguments);
228
- }
229
- map.moveTo([15, 0]);
230
- t.delay_call(.5, function() {
231
- t.eq(count, 1, "column shifted once");
232
- });
233
- }
234
-
235
- function test_Layer_Grid_moveTo(t) {
236
-
237
- t.plan(13);
238
-
239
- var map = new OpenLayers.Map('map');
240
- layer = new OpenLayers.Layer.WMS(name, url, params);
241
- layer.destroy = function() {}; //we're going to do funky things with the grid
242
- layer.applyBackBuffer = function() {}; // backbuffering isn't under test here
243
- map.addLayer(layer);
244
- map.setCenter([-10, 0], 5);
245
-
246
- var log = [];
247
-
248
- //make sure null bounds doesnt cause script error.
249
- // no test necessary, just action
250
- map.getExtent = function() { return null; }
251
- layer.singleTile = false;
252
- layer.moveTo(); //checks to make sure null bounds doesnt break us
253
-
254
-
255
- //observing globals
256
- layer.initSingleTile = function(bounds) {
257
- g_WhichFunc = "InitSingle";
258
- g_Bounds = bounds;
259
- };
260
- layer.initGriddedTiles = function(bounds) {
261
- g_WhichFunc = "InitGridded";
262
- g_Bounds = bounds;
263
- };
264
- layer.moveGriddedTiles = function() {
265
- g_WhichFunc = "MoveGridded";
266
- g_Bounds = layer.map.getExtent();
267
- };
268
- var clearTestBounds = function() {
269
- g_WhichFunc = null;
270
- g_Bounds = null;
271
- };
272
-
273
- //default map extent (tested every time below)
274
- b = new OpenLayers.Bounds(0,0,100,100);
275
- map.getExtent = function() {
276
- return b;
277
- };
278
- var tilesBounds = null;
279
- layer.getTilesBounds = function() {
280
- return tilesBounds;
281
- }
282
-
283
-
284
- //FORCE
285
-
286
- //empty grid
287
- layer.grid = [];
288
- //grid
289
- clearTestBounds();
290
- layer.singleTile = false;
291
- layer.moveTo()
292
- t.ok(g_Bounds.equals(b), "if grid is empty, initGridded called");
293
-
294
- //singletile
295
- clearTestBounds();
296
- layer.singleTile = true;
297
- layer.moveTo()
298
- t.ok(g_Bounds.equals(b), "if grid is empty, initSingleTile called");
299
-
300
- //zoomChanged
301
- zoomChanged = true;
302
- layer.grid = [ [ {} ] ];
303
-
304
- //grid
305
- clearTestBounds();
306
- layer.singleTile = false;
307
- layer.moveTo(null, zoomChanged);
308
- t.ok(g_Bounds.equals(b), "if layer has grid but zoomChanged is called, initGridded called");
309
-
310
- //singletile
311
- clearTestBounds();
312
- layer.singleTile = true;
313
- layer.moveTo(null, zoomChanged);
314
- t.ok(g_Bounds.equals(b), "if layer has grid but zoomChanged is called, initSingleTile called");
315
-
316
-
317
- //NO FORCE
318
- zoomChanged = false;
319
- layer.grid = [ [ {} ] ];
320
-
321
- //single tile
322
- layer.singleTile = true;
323
-
324
- //DRAGGING
325
- var dragging = true;
326
-
327
- //in bounds
328
- clearTestBounds();
329
- tilesBounds = new OpenLayers.Bounds(-10,-10,110,110);
330
- layer.moveTo(null, zoomChanged, dragging);
331
- t.ok(g_Bounds == null, "if dragging and tile in bounds, no init()");
332
-
333
- //out bounds
334
- clearTestBounds();
335
- tilesBounds = new OpenLayers.Bounds(10,10,120,120);
336
- layer.moveTo(null, zoomChanged, dragging);
337
- t.ok(g_Bounds == null, "if dragging and tile out of bounds, no init()");
338
-
339
- //NOT DRAGGING
340
- dragging = false;
341
-
342
- //in bounds
343
- clearTestBounds();
344
- tilesBounds = new OpenLayers.Bounds(-10,-10,110,110);
345
- layer.moveTo(null, zoomChanged, dragging);
346
- t.ok(g_Bounds == null, "if dragging and tile in bounds, no init()");
347
-
348
- //out bounds
349
- clearTestBounds();
350
- tilesBounds = new OpenLayers.Bounds(10,10,120,120);
351
- layer.moveTo(null, zoomChanged, dragging);
352
- t.ok(g_WhichFunc == "InitSingle", "if not dragging and tile out of bounds, we call initSingleTile()");
353
- t.ok(g_Bounds.equals(b), "if not dragging and tile out of bounds, we call initSingleTile() with correct bounds");
354
-
355
-
356
- //gridded
357
- layer.grid = [ [ {position: new OpenLayers.Pixel(0,0)} ] ];
358
- layer.singleTile = false;
359
-
360
- //regular move
361
- clearTestBounds();
362
- tilesBounds = new OpenLayers.Bounds(10,10,120,120);
363
- g_WhichFunc = null;
364
- layer.moveTo(null, zoomChanged);
365
- t.eq(g_WhichFunc, "MoveGridded", "if tiles not drastically out of bounds, we call moveGriddedTile()");
366
- t.ok(g_Bounds.equals(b), "if tiles not drastically out of bounds, we call moveGriddedTile() with correct bounds");
367
-
368
- // drastic pan
369
- clearTestBounds();
370
- tilesBounds = new OpenLayers.Bounds(-150,-150,-120,-120);
371
- layer.moveTo(null, zoomChanged);
372
- t.ok(g_WhichFunc == "InitGridded", "if tiles drastically out of bounds, we call initGriddedTile()");
373
- t.ok(g_Bounds.equals(b), "if tiles drastically out of bounds, we call initGriddedTile() with correct bounds");
374
- }
375
-
376
- /** THIS WOULD BE WHERE THE TESTS WOULD GO FOR
377
- *
378
- * -insertColumn
379
- * -insertRow
380
- *
381
-
382
- function 08_Layer_Grid_insertColumn(t) {
383
- }
384
-
385
- function 09_Layer_Grid_insertRow(t) {
386
- }
387
-
388
- *
389
- */
390
-
391
- function test_Layer_Grid_clone(t) {
392
- t.plan(7);
393
-
394
- var options = {tileSize: new OpenLayers.Size(500,50)};
395
- var map = new OpenLayers.Map('map', options);
396
- layer = new OpenLayers.Layer.Grid(name, url, params);
397
- map.addLayer(layer);
398
-
399
- layer.grid = [ [6, 7],
400
- [8, 9]];
401
-
402
- // if we clone when tiles are still loading, this should not influence the clone
403
- layer.numLoadingTiles = 1;
404
- var clone = layer.clone();
405
- t.eq( clone.numLoadingTiles, 0, "numLoadingTiles should be reset");
406
- t.ok( clone.grid != layer.grid, "clone does not copy grid");
407
- t.ok( clone.grid.length == 0, "clone creates a new array instead");
408
-
409
- t.eq(clone.backBuffer, null, "no backbuffer from original");
410
-
411
- t.ok( clone.tileSize.equals(layer.tileSize), "tileSize correctly cloned");
412
-
413
- layer.tileSize.w += 40;
414
-
415
- t.eq( clone.tileSize.w, 500, "changing layer.tileSize does not change clone.tileSize -- a fresh copy was made, not just copied reference");
416
-
417
- t.eq( clone.alpha, layer.alpha, "alpha copied correctly");
418
-
419
- layer.grid = null;
420
- }
421
-
422
- function test_Layer_Grid_setTileSize(t) {
423
- t.plan(1);
424
-
425
- OpenLayers.Layer.HTTPRequest.prototype._setTileSize =
426
- OpenLayers.Layer.HTTPRequest.prototype.setTileSize;
427
-
428
- OpenLayers.Layer.HTTPRequest.prototype.setTileSize = function(size) {
429
- g_Size = size;
430
- };
431
-
432
-
433
- layer = new OpenLayers.Layer.Grid(name, url, params, {
434
- singleTile: true
435
- });
436
- mapSize = new OpenLayers.Size(100,1000);
437
- layer.map = {
438
- getSize: function() { return mapSize; }
439
- }
440
-
441
- g_Size = null;
442
- layer.setTileSize();
443
-
444
- var idealSize = new OpenLayers.Size(150,1500);
445
- t.ok( g_Size && g_Size.equals(idealSize), "correctly calculated tile size passed to superclass setTileSize() function");
446
-
447
- OpenLayers.Layer.HTTPRequest.prototype.setTileSize =
448
- OpenLayers.Layer.HTTPRequest.prototype._setTileSize;
449
- }
450
-
451
- function test_Layer_Grid_initSingleTile(t) {
452
- t.plan( 11 );
453
-
454
- layer = new OpenLayers.Layer.Grid(name, url, params, {
455
- singleTile: true,
456
- ratio: 2
457
- });
458
-
459
- var bounds = new OpenLayers.Bounds(-10,10,50,100);
460
-
461
- var desiredTileBounds = new OpenLayers.Bounds(-40,-35,80,145);
462
- var desiredUL = new OpenLayers.LonLat(-40,145);
463
-
464
- translatedPX = {};
465
- layer.map = {
466
- getLayerPxFromLonLat: function(ul) {
467
- t.ok(ul.lon === desiredUL.lon && ul.lat === desiredUL.lat, "correct ul passed to translation");
468
- return translatedPX;
469
- },
470
- getResolution: function() {
471
- }
472
- }
473
-
474
- var newTile = {
475
- draw: function() {
476
- t.ok(true, "newly created tile has been drawn");
477
- }
478
- };
479
- layer.addTile = function(tileBounds, px) {
480
- t.ok(tileBounds.equals(desiredTileBounds), "correct tile bounds passed to addTile to create new tile");
481
- t.ok(px == translatedPX, "correct tile px passed to addTile to create new tile");
482
- return newTile;
483
- };
484
- layer.addTileMonitoringHooks = function(tile) {
485
- t.ok(tile == newTile, "adding monitoring hooks to the newly added tile");
486
- };
487
- layer.removeExcessTiles = function(x,y) {
488
- t.ok(x == 1 && y == 1, "removeExcessTiles called")
489
- };
490
-
491
-
492
- layer.grid = [];
493
- layer.initSingleTile(bounds);
494
-
495
- t.ok(layer.grid[0][0] == newTile, "grid's 0,0 is set to the newly created tile");
496
-
497
- var tile = {
498
- moveTo: function(tileBounds, px) {
499
- t.ok(tileBounds.equals(desiredTileBounds), "correct tile bounds passed to tile.moveTo()");
500
- t.ok(px == translatedPX, "correct tile px passed to tile.moveTo()");
501
- }
502
- };
503
- layer.grid = [[ tile ]];
504
- layer.initSingleTile(bounds);
505
-
506
- }
507
-
508
- function test_Layer_Grid_addTileMonitoringHooks(t) {
509
- t.plan(18);
510
-
511
- layer = new OpenLayers.Layer.Grid();
512
- layer.events = {
513
- 'triggerEvent': function(str, evt) {
514
- g_events.push([str, evt]);
515
- }
516
- }
517
-
518
- var tile = {
519
- events: {
520
- register: function(name, obj, func) {
521
- g_registered[name] = [obj, func];
522
- },
523
- on: function(obj) {
524
- for (var o in obj) {
525
- if (obj.hasOwnProperty(o)) {
526
- tile.events.register(o, obj.scope, obj[o]);
527
- }
528
- }
529
- }
530
- },
531
- imgDiv: {className: ''}
532
- }
533
-
534
- g_registered = {};
535
- g_events = [];
536
-
537
- layer.addTileMonitoringHooks(tile);
538
-
539
- //loadstart
540
- t.ok(tile.onLoadStart != null, "onLoadStart function created and added to tile");
541
- entry = g_registered["loadstart"];
542
- t.ok( entry && entry[0] == layer && entry[1] == tile.onLoadStart, "loadstart correctly registered");
543
-
544
- layer.numLoadingTiles = 0;
545
- g_events = [];
546
- tile.onLoadStart.apply(layer);
547
-
548
- t.eq(g_events[0][0], "loadstart", "loadstart event triggered when numLoadingTiles is 0");
549
- t.eq(layer.numLoadingTiles, 1, "numLoadingTiles incremented");
550
- t.eq(g_events[1][0], "tileloadstart", "tileloadstart event triggered");
551
-
552
- g_events = [];
553
- tile.onLoadStart.apply(layer);
554
- t.eq(g_events.length, 1, "tileloadstart, but not loadstart triggered when numLoadingTiles is not 0");
555
- t.eq(layer.numLoadingTiles, 2, "numLoadingTiles incremented");
556
-
557
-
558
- //loadend
559
- t.ok(tile.onLoadEnd != null, "onLoadEnd function created and added to tile");
560
- entry = g_registered["loadend"];
561
- t.ok( entry && entry[0] == layer && entry[1] == tile.onLoadEnd, "loadend correctly registered");
562
-
563
- g_events = [];
564
- tile.onLoadError.apply(layer);
565
- t.eq(g_events[0][0], "tileerror", "tileerror triggered");
566
- t.ok(g_events[0][1].tile === tile, "tile passed as tile property to event object");
567
-
568
- layer.numLoadingTiles = 2;
569
- g_events = [];
570
- tile.onLoadEnd.apply(layer, [{}]);
571
- t.eq(g_events[0][0], "tileloaded", "tileloaded triggered when numLoadingTiles is > 0");
572
- t.ok(g_events[0][1].tile === tile, "tile passed as tile property to event object");
573
- t.eq(g_events.length, 1, "loadend event not triggered when numLoadingTiles is > 0");
574
- t.eq(layer.numLoadingTiles, 1, "numLoadingTiles decremented");
575
-
576
-
577
- g_events = [];
578
- layer.grid = [[{}]]; // to prevent error in updateBackBuffer
579
- tile.onLoadEnd.apply(layer, [{}]);
580
- t.eq(g_events[0][0], "tileloaded", "tileloaded triggered when numLoadingTiles is 0");
581
- t.eq(g_events[1][0], "loadend", "loadend event triggered when numLoadingTiles is 0");
582
- t.eq(layer.numLoadingTiles, 0, "numLoadingTiles decremented");
583
- }
584
-
585
- function test_Layer_Grid_removeTileMonitoringHooks(t) {
586
- t.plan(2);
587
-
588
- layer = new OpenLayers.Layer.Grid();
589
-
590
- var tile = {
591
- onLoadStart: {},
592
- onLoadEnd: {},
593
- unload: function() {},
594
- events: {
595
- unregister: function(name, obj, func) {
596
- g_unregistered[name] = [obj, func];
597
- },
598
- un: OpenLayers.Events.prototype.un
599
- }
600
- }
601
-
602
- g_unregistered = {};
603
-
604
- layer.removeTileMonitoringHooks(tile);
605
-
606
- entry = g_unregistered["loadstart"];
607
- t.ok( entry && entry[0] == layer && entry[1] == tile.onLoadStart, "loadstart correctly unregistered");
608
-
609
- entry = g_unregistered["loadend"];
610
- t.ok( entry && entry[0] == layer && entry[1] == tile.onLoadEnd, "loadend correctly unregistered");
611
- }
612
-
613
- function test_Layer_Grid_tileSizeIsInteger(t) {
614
- t.plan(1);
615
-
616
- var map = new OpenLayers.Map('map');
617
- var layer = new OpenLayers.Layer.Grid(name, url, params, {
618
- singleTile: true,
619
- ratio: 1.5
620
- });
621
- map.addLayers([layer]);
622
-
623
- width = layer.tileSize.w;
624
- height = layer.tileSize.h;
625
- t.ok(width == parseInt(width) && height == parseInt(height), "calculated tileSize width/height are integer values");
626
- }
627
- function test_Layer_Grid_getTileBounds(t) {
628
- t.plan(2);
629
- var map = new OpenLayers.Map("map2", {zoomMethod: null});
630
- var url = "http://octo.metacarta.com/cgi-bin/mapserv";
631
- layer = new OpenLayers.Layer.WMS(name, url, params);
632
-
633
- var newParams = { layers: 'sooper',
634
- chickpeas: 'image/png'};
635
-
636
- map.addLayer(layer);
637
- map.zoomToMaxExtent();
638
- map.zoomIn();
639
- var bounds = layer.getTileBounds(new OpenLayers.Pixel(200,200));
640
- t.eq(bounds.toBBOX(), "-180,-90,0,90", "get tile bounds returns correct bounds");
641
- map.pan(200,0, {animate:false});
642
- var bounds = layer.getTileBounds(new OpenLayers.Pixel(200,200));
643
- t.eq(bounds.toBBOX(), "0,-90,180,90", "get tile bounds returns correct bounds after pan");
644
- }
645
-
646
- function test_Layer_Grid_moveTo_buffer_calculation (t) {
647
- t.plan(6);
648
-
649
- var map = new OpenLayers.Map( 'map3' ); // odd map size
650
- var layer0 = new OpenLayers.Layer.WMS( "0 buffer: OpenLayers WMS",
651
- "http://labs.metacarta.com/wms/vmap0",
652
- {layers: 'basic'}, {'buffer':0} );
653
- map.addLayer(layer0);
654
-
655
- var layer1 = new OpenLayers.Layer.WMS( "1 buffer: OpenLayers WMS",
656
- "http://labs.metacarta.com/wms/vmap0",
657
- {layers: 'basic'}, {'buffer':1} );
658
- map.addLayer(layer1);
659
-
660
- var layer2 = new OpenLayers.Layer.WMS( "2 buffer: OpenLayers WMS",
661
- "http://labs.metacarta.com/wms/vmap0",
662
- {layers: 'basic'}, {'buffer':2} );
663
- map.addLayer(layer2);
664
-
665
- map.setCenter(new OpenLayers.LonLat(0, 0), 4);
666
- t.eq( layer0.grid.length, 3, "Grid rows with buffer:0" );
667
- map.setBaseLayer(layer1);
668
- t.eq( layer1.grid.length, 5, "Grid rows with buffer:1" );
669
- map.setBaseLayer(layer2);
670
- t.eq( layer2.grid.length, 7, "Grid rows with buffer:2" );
671
-
672
- // zooming in on Greenland exercises the bug from pre-r4313
673
- map.setCenter(new OpenLayers.LonLat(0, 90), 4);
674
- t.eq( layer0.grid.length, 3, "Grid rows with buffer:0" );
675
- map.setBaseLayer(layer1);
676
- t.eq( layer1.grid.length, 5, "Grid rows with buffer:1" );
677
- map.setBaseLayer(layer2);
678
- t.eq( layer2.grid.length, 7, "Grid rows with buffer:2" );
679
- }
680
-
681
- function test_Layer_Grid_destroy (t) {
682
-
683
- t.plan( 9 );
684
-
685
- var map = new OpenLayers.Map('map', {tileManager: null});
686
- layer = new OpenLayers.Layer.Grid(name, url, params);
687
- map.addLayer(layer);
688
- layer.destroy();
689
- t.eq( layer.grid, null, "layer.grid is null after destroy" );
690
- t.eq( layer.tileSize, null, "layer.tileSize is null after destroy" );
691
-
692
-
693
- //test with tile creation
694
- layer = new OpenLayers.Layer.WMS(name, url, params);
695
- map.addLayer(layer);
696
-
697
- map.setCenter(new OpenLayers.LonLat(0,0), 10);
698
- map.setCenter(new OpenLayers.LonLat(1,1));
699
-
700
- //grab a reference to one of the tiles
701
- var tile = layer.grid[1][1];
702
- t.eq( tile.imgDiv.className, "olTileImage", "Tile has an image" );
703
-
704
- var removeBackBufferCalled = false;
705
- layer.removeBackBuffer = function() {
706
- removeBackBufferCalled = true;
707
- };
708
-
709
- layer.destroy();
710
- t.eq( tile.imgDiv, null, "Tile destroyed" );
711
- t.eq( layer.timerId, null, "Tile loading timeout cleared");
712
- t.ok( layer.grid == null, "tiles appropriately destroyed")
713
- t.ok( removeBackBufferCalled, "destroy calls removeBackBuffer");
714
-
715
- // destroy after remove from map
716
- layer = new OpenLayers.Layer.WMS(name, url, params);
717
- map.addLayer(layer);
718
- map.setCenter(new OpenLayers.LonLat(0,0), 10);
719
- map.removeLayer(layer);
720
- layer.destroy();
721
- t.eq( layer.grid, null, "layer.grid is null after destroy" );
722
- t.eq( layer.tileSize, null, "layer.tileSize is null after destroy" );
723
- }
724
-
725
- function test_setOpacity(t) {
726
- t.plan(5);
727
-
728
- var map = new OpenLayers.Map('map');
729
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
730
- isBaseLayer: true,
731
- opacity: '0.6'
732
- });
733
- map.addLayer(layer);
734
- // setCenter adds tiles to the layer's grid
735
- map.setCenter(new OpenLayers.LonLat(0, 0), 5);
736
-
737
- var tile = layer.grid[0][0], tileImg = tile.imgDiv;
738
-
739
- tile.onImageLoad(); // simulate an image load event
740
- t.eq(layer.opacity, '0.6', 'layer opacity value is correct');
741
- t.eq(parseFloat(tileImg.style.opacity), 0.6, 'tile opacity is correct');
742
-
743
- layer.setOpacity('0.2');
744
- t.eq(layer.opacity, '0.2', 'layer opacity value is correct');
745
- t.eq(parseFloat(tileImg.style.opacity), 0.2, 'tile opacity is correct');
746
-
747
- tile = layer.addTile(new OpenLayers.Bounds(1, 2, 3, 4),
748
- new OpenLayers.Pixel(5, 6));
749
- tile.draw(); // add tile to the grid
750
- tile.onImageLoad(); // simulate an image load event
751
- t.eq(parseFloat(tile.imgDiv.style.opacity), 0.2, "tile opacity is correc");
752
-
753
- map.destroy();
754
- }
755
-
756
- function test_getServerResolution(t) {
757
-
758
- t.plan(4);
759
-
760
- var layer = new OpenLayers.Layer.Grid('', '', {}, {});
761
- var res;
762
-
763
- res = layer.getServerResolution(1);
764
- t.eq(res, 1, '[1] getServerResolution return value is correct');
765
-
766
- layer.serverResolutions = [2, 1];
767
- res = layer.getServerResolution(1);
768
- t.eq(res, 1, '[2] getServerResolution return value is correct');
769
-
770
- layer.serverResolutions = [2];
771
- res = layer.getServerResolution(1);
772
- t.eq(res, 2, '[3] getServerResolution return value is correct');
773
-
774
- var exc;
775
- layer.serverResolutions = [0.5];
776
- res = layer.getServerResolution(1);
777
- t.eq(res, 0.5, '[4] getServerResolution return value is correct');
778
- }
779
-
780
- function test_getServerZoom(t) {
781
-
782
- t.plan(5);
783
-
784
- var resolution, zoom;
785
- var map = new OpenLayers.Map('map', {
786
- resolutions: [8, 4, 2, 1, 0.5],
787
- getResolution: function() {
788
- return resolution;
789
- }
790
- });
791
- var layer = new OpenLayers.Layer.WMS('', '', {}, {isBaseLayer: true});
792
- map.addLayer(layer);
793
-
794
- resolution = 8;
795
- zoom = layer.getServerZoom();
796
- t.eq(zoom, 0, '[1] getServerZoom return value is correct');
797
-
798
- resolution = 4;
799
- zoom = layer.getServerZoom();
800
- t.eq(zoom, 1, '[2] getServerZoom return value is correct');
801
-
802
- layer.serverResolutions = [2, 1];
803
- resolution = 1;
804
- zoom = layer.getServerZoom();
805
- t.eq(zoom, 1, '[3] getServerZoom return value is correct');
806
-
807
- layer.serverResolutions = [2];
808
- resolution = 0.5;
809
- zoom = layer.getServerZoom();
810
- t.eq(zoom, 0, '[4] getServerZoom return value is correct');
811
-
812
- var exc;
813
- layer.serverResolutions = [0.5];
814
- resolution = 1;
815
- zoom = layer.getServerZoom();
816
- t.eq(zoom, 0, '[4] getServerZoom return value is correct');
817
-
818
- map.destroy();
819
- }
820
-
821
- function test_moveTo_scale(t) {
822
-
823
- t.plan(11);
824
-
825
- var map = new OpenLayers.Map('map', {
826
- resolutions: [32, 16, 8, 4, 2, 1],
827
- zoomMethod: null
828
- });
829
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
830
- isBaseLayer: true,
831
- serverResolutions: [32, 16, 8]
832
- });
833
- map.addLayer(layer);
834
-
835
- // initial resolution is 8
836
- map.setCenter(new OpenLayers.LonLat(0, 0), 2);
837
-
838
- // test initial conditions
839
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 1, 'layer div scale is 1');
840
-
841
- // change from resolution 8 to 4
842
- map.zoomTo(3);
843
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 2, '[8->4] layer div scale is 2');
844
-
845
- // change from resolution 8 to 2
846
- map.zoomTo(2); map.zoomTo(4);
847
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 4, '[8->2] layer div scale is 4');
848
-
849
- // change from resolution 8 to 1
850
- map.zoomTo(2); map.zoomTo(5);
851
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 8, '[8->1] layer div scale is 8');
852
-
853
- // change from resolution 4 to 2
854
- map.zoomTo(3); map.zoomTo(4);
855
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 4, '[4->2] layer div scale is 4');
856
-
857
- // change from resolution 4 to 1
858
- map.zoomTo(3); map.zoomTo(5);
859
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 8, '[4->1] layer div scale is 8');
860
-
861
- // change from resolution 2 to 1
862
- map.zoomTo(4); map.zoomTo(5);
863
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 8, '[2->1] layer div scale is 8');
864
-
865
- // change from resolution 1 to 2
866
- map.zoomTo(5); map.zoomTo(4);
867
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 4, '[1->2] layer div scale is 4');
868
-
869
- // change from resolution 1 to 4
870
- map.zoomTo(5); map.zoomTo(3);
871
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 2, '[1->4] layer div scale is 2');
872
-
873
- // change from resolution 1 to 8
874
- map.zoomTo(5); map.zoomTo(2);
875
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 1, '[1->8] layer div scale is 1');
876
-
877
- // change from resolution 1 to 16
878
- map.zoomTo(5); map.zoomTo(1);
879
- t.eq(parseInt(layer.div.lastChild.style.width) / layer.tileSize.w, 1, '[1->16] layer div scale is 1');
880
-
881
- map.destroy();
882
- }
883
-
884
- function test_moveTo_backbuffer_singletile(t) {
885
- t.plan(4);
886
-
887
- var map = new OpenLayers.Map('map', {
888
- resolutions: [1, 0.5, 0.025],
889
- zoomMethod: null
890
- });
891
- var resolution;
892
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
893
- singleTile: true,
894
- isBaseLayer: true,
895
- transitionEffect: 'resize',
896
- applyBackBuffer: function(res) {
897
- resolution = res;
898
- }
899
- });
900
- map.addLayer(layer);
901
-
902
- // initial resolution is 0.025
903
- resolution = undefined;
904
- map.setCenter(new OpenLayers.LonLat(0, 0), 2);
905
- t.eq(resolution, 0.025,
906
- 'applyBackBuffer not called on first moveTo');
907
-
908
- // move to (-90, 45)
909
- resolution = undefined;
910
- map.setCenter(new OpenLayers.LonLat(-90, 45));
911
- t.eq(resolution, 0.025,
912
- 'applyBackBuffer called when map is moved');
913
-
914
- // change to resolution 1
915
- resolution = undefined;
916
- map.zoomTo(0);
917
- t.eq(resolution, 1,
918
- 'applyBackBuffer called when map is zoomed out');
919
-
920
- // change to resolution 0.5
921
- resolution = undefined;
922
- map.zoomTo(1);
923
- t.eq(resolution, 0.5,
924
- 'applyBackBuffer called when map is zoomed out');
925
-
926
- map.destroy();
927
- }
928
-
929
- function test_moveTo_backbuffer(t) {
930
- t.plan(4);
931
-
932
- var map = new OpenLayers.Map('map', {
933
- resolutions: [1, 0.5, 0.025],
934
- zoomMethod: null
935
- });
936
- var resolution;
937
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
938
- isBaseLayer: true,
939
- transitionEffect: 'resize',
940
- applyBackBuffer: function(res) {
941
- resolution = res;
942
- }
943
- });
944
- map.addLayer(layer);
945
-
946
- // initial resolution is 0.025
947
- resolution = undefined;
948
- map.setCenter(new OpenLayers.LonLat(0, 0), 2);
949
- t.eq(resolution, 0.025,
950
- 'applyBackBuffer not called on first moveTo');
951
-
952
- // move to (-90, 45)
953
- resolution = undefined;
954
- map.setCenter(new OpenLayers.LonLat(-90, 45));
955
- t.eq(resolution, undefined,
956
- 'applyBackBuffer not called when map is moved');
957
-
958
- // change to resolution 1
959
- resolution = undefined;
960
- map.zoomTo(0);
961
- t.eq(resolution, 1,
962
- 'applyBackBuffer called when map is zoomed out');
963
-
964
- // change to resolution 0.5
965
- map.zoomTo(1);
966
- t.eq(resolution, 0.5,
967
- 'applyBackBuffer called when map is zoomed out');
968
-
969
- map.destroy();
970
- }
971
-
972
- function test_applyBackBuffer(t) {
973
- t.plan(12);
974
-
975
- var map = new OpenLayers.Map('map2');
976
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
977
- isBaseLayer: true
978
- });
979
- map.addLayer(layer);
980
- map.zoomToMaxExtent();
981
-
982
- var backBuffer;
983
-
984
- // test #1
985
- layer.createBackBuffer = function() {
986
- return;
987
- };
988
- layer.applyBackBuffer(2);
989
- t.eq(layer.backBuffer, undefined,
990
- 'back buffer not created if createBackBuffer returns undefined');
991
-
992
- // test #2
993
- layer.createBackBuffer = function() {
994
- backBuffer = document.createElement('div');
995
- return backBuffer;
996
- };
997
- layer.gridResolution = 32;
998
- layer.backBufferResolution = 2;
999
- layer.grid[0][0].bounds = new OpenLayers.Bounds(0, 1, 1, 0);
1000
- layer.applyBackBuffer(2);
1001
- t.ok(layer.backBuffer === backBuffer,
1002
- 'back buffer set in layer');
1003
- t.ok(map.layerContainerDiv.firstChild === backBuffer,
1004
- 'back buffer inserted as first child');
1005
- t.eq(layer.backBuffer.style.left, '250px',
1006
- 'back buffer has correct left');
1007
- t.eq(layer.backBuffer.style.top, '275px',
1008
- 'back buffer has correct top');
1009
-
1010
- // test #3
1011
- layer.createBackBuffer = function() {
1012
- backBuffer = document.createElement('div');
1013
- return backBuffer;
1014
- };
1015
- layer.gridResolution = 32;
1016
- layer.backBufferResolution = 2;
1017
- layer.grid[0][0].bounds = new OpenLayers.Bounds(0, 1, 1, 0);
1018
- map.layerContainerOriginPx.x = 20;
1019
- map.layerContainerOriginPx.y = -20;
1020
- layer.applyBackBuffer(2);
1021
- t.ok(layer.backBuffer === backBuffer,
1022
- 'back buffer set in layer');
1023
- t.ok(map.layerContainerDiv.firstChild === backBuffer,
1024
- 'back buffer inserted as first child');
1025
- t.eq(layer.backBuffer.style.left, '230px',
1026
- 'back buffer has correct left');
1027
- t.eq(layer.backBuffer.style.top, '295px',
1028
- 'back buffer has correct top');
1029
-
1030
- // test #4
1031
- // and a back buffer in the layer and do as if back buffer removal
1032
- // has been scheduled, and test that applyBackBuffer removes the
1033
- // back buffer and clears the timer
1034
- layer.createBackBuffer = function() {
1035
- return;
1036
- };
1037
- backBuffer = document.createElement('div');
1038
- map.layerContainerDiv.insertBefore(backBuffer, map.baseLayer.div);
1039
- layer.backBuffer = backBuffer;
1040
- layer.backBufferTimerId = 'fake';
1041
- layer.applyBackBuffer(2);
1042
- t.ok(backBuffer !== map.layerContainerDiv.firstChild,
1043
- 'back buffer is not first child of layer container div');
1044
- t.eq(layer.backBuffer, null,
1045
- 'back buffer not set in layer');
1046
- t.eq(layer.backBufferTimerId, null,
1047
- 'back buffer timer cleared');
1048
- map.destroy();
1049
- }
1050
-
1051
- function test_createBackBuffer(t) {
1052
- t.plan(9);
1053
-
1054
- var map = new OpenLayers.Map('map');
1055
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
1056
- isBaseLayer: true
1057
- });
1058
- map.addLayer(layer);
1059
- map.zoomToMaxExtent();
1060
-
1061
- var createBackBuffer = OpenLayers.Tile.Image.prototype.createBackBuffer;
1062
-
1063
- var backBuffer;
1064
-
1065
- OpenLayers.Tile.Image.prototype.createBackBuffer = function() {
1066
- return;
1067
- };
1068
- backBuffer = layer.createBackBuffer();
1069
- t.ok(backBuffer != undefined,
1070
- 'createBackBuffer returns a back buffer');
1071
- t.eq(backBuffer.childNodes.length, 0,
1072
- 'returned back buffer has no child nodes');
1073
-
1074
- OpenLayers.Tile.Image.prototype.createBackBuffer = function() {
1075
- return document.createElement('div');
1076
- };
1077
-
1078
- layer.transitionEffect = 'map-resize';
1079
- backBuffer = layer.createBackBuffer();
1080
- t.ok(backBuffer.style.zIndex == 99, 'z-index of backbuffer correct for "map-resize".');
1081
- layer.removeBackBuffer();
1082
-
1083
- layer.transitionEffect = 'resize';
1084
- backBuffer = layer.createBackBuffer();
1085
- t.ok(backBuffer.style.zIndex == layer.getZIndex() - 1, 'z-index of backbuffer correct for "resize",');
1086
-
1087
- layer.backBufferResolution = 1;
1088
- layer.gridResolution = 1;
1089
- layer.backBuffer = backBuffer;
1090
- layer.div.appendChild(backBuffer);
1091
- layer.backBufferLonLat = {lon: 0, lat: 0};
1092
- layer.applyBackBuffer(1);
1093
- t.ok(backBuffer != undefined,
1094
- 'createBackBuffer returns a back buffer');
1095
- t.eq(backBuffer.childNodes[0].style.left, '0px',
1096
- 'first tile has correct left');
1097
- t.eq(backBuffer.childNodes[0].style.top, '0px',
1098
- 'first tile has correct top');
1099
- t.eq(backBuffer.childNodes[1].style.left, '256px',
1100
- 'second tile has correct left');
1101
- t.eq(backBuffer.childNodes[1].style.top, '0px',
1102
- 'second tile has correct top');
1103
-
1104
- map.destroy();
1105
- OpenLayers.Tile.Image.prototype.createBackBuffer = createBackBuffer;
1106
- }
1107
-
1108
- function test_removeBackBuffer(t) {
1109
- t.plan(3);
1110
-
1111
- var map = new OpenLayers.Map('map');
1112
- var layer = new OpenLayers.Layer.WMS('', '', {}, {isBaseLayer: true});
1113
- map.addLayer(layer);
1114
-
1115
- // add a fake back buffer
1116
- var backBuffer = document.createElement('div');
1117
- layer.backBuffer = backBuffer;
1118
- layer.div.appendChild(backBuffer);
1119
- layer.backBufferResolution = 32;
1120
-
1121
- layer.removeBackBuffer();
1122
- t.eq(layer.backBuffer, null, 'backBuffer set to null in layer');
1123
- t.eq(layer.backBufferResolution, null,
1124
- 'backBufferResolution set to null in layer');
1125
- t.ok(backBuffer.parentNode !== layer.div,
1126
- 'back buffer removed from layer');
1127
-
1128
- map.destroy();
1129
- }
1130
-
1131
- function test_backbuffer_replace(t) {
1132
- t.plan(6);
1133
- var map = new OpenLayers.Map('map', {tileManager: null});
1134
- var layer = new OpenLayers.Layer.WMS('', '../../img/blank.gif');
1135
- map.addLayer(layer);
1136
- map.zoomToMaxExtent();
1137
-
1138
- layer.grid[1][1].onImageLoad();
1139
- layer.mergeNewParams({foo: 'bar'});
1140
- var tile = layer.grid[1][1];
1141
- t.ok(OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile is marked for being replaced');
1142
- t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer created for tile');
1143
- // simulate a css declaration where '.olTileReplacing' sets display
1144
- // to none.
1145
- tile.imgDiv.style.display = 'none';
1146
- tile.onImageLoad();
1147
- t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
1148
- t.ok(!document.getElementById(tile.id + '_bb'), 'backbuffer removed for tile');
1149
-
1150
- layer.mergeNewParams({foo: 'baz'});
1151
- tile = layer.grid[1][1];
1152
- // simulate a css declaration where '.olTileReplacing' does not set
1153
- // display to none.
1154
- tile.imgDiv.style.display = 'block';
1155
- tile.onImageLoad();
1156
- t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
1157
- t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer not removed for visible tile');
1158
- }
1159
-
1160
- function test_backbuffer_replace_singleTile(t) {
1161
- t.plan(1);
1162
- var map = new OpenLayers.Map('map');
1163
- var layer = new OpenLayers.Layer.WMS('', '../../img/blank.gif', null, {
1164
- singleTile: true,
1165
- transitionEffect: 'resize'
1166
- });
1167
- map.addLayer(layer);
1168
- map.zoomToMaxExtent();
1169
-
1170
- t.delay_call(1, function() {
1171
- map.zoomIn();
1172
- var tile = layer.grid[0][0];
1173
- t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile is not marked for being replaced for singleTile layers');
1174
- });
1175
- }
1176
-
1177
- function test_singleTile_move_and_zoom(t) {
1178
-
1179
- //
1180
- // In single tile mode with no transition effect, we insert a non-scaled
1181
- // backbuffer when the layer is moved. But if a zoom occurs right after
1182
- // a move, i.e. before the new image is received, we need to remove the
1183
- // backbuffer, or an ill-positioned image will be visible during the
1184
- // zoom transition.
1185
- //
1186
-
1187
- t.plan(4);
1188
-
1189
- var map = new OpenLayers.Map('map', {zoomMethod: null});
1190
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
1191
- isBaseLayer: true,
1192
- transitionEffect: null,
1193
- singleTile: true,
1194
- ratio: 1.1
1195
- });
1196
- map.addLayer(layer);
1197
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
1198
-
1199
- // move
1200
- map.setCenter(new OpenLayers.LonLat(50, 50));
1201
- t.ok(layer.backBuffer && layer.backBuffer.parentNode === layer.div,
1202
- 'backbuffer inserted after map move');
1203
- t.eq(layer.backBuffer.style.left, '-25px');
1204
- t.eq(layer.backBuffer.style.top, '-28px');
1205
- // zoom
1206
- map.zoomTo(1);
1207
- t.eq(layer.backBuffer, null,
1208
- 'back buffer removed when zooming');
1209
-
1210
- map.destroy();
1211
- }
1212
-
1213
- function test_backbuffer_scaled_layer(t) {
1214
- t.plan(12);
1215
-
1216
- //
1217
- // set up
1218
- //
1219
-
1220
- var map = new OpenLayers.Map('map', {
1221
- resolutions: [32, 16, 8, 4, 2, 1],
1222
- zoomMethod: null,
1223
- tileManager: null
1224
- });
1225
- var layer = new OpenLayers.Layer.WMS(
1226
- "WMS",
1227
- window.location.href + "#",
1228
- null,
1229
- {transitionEffect: "resize"}
1230
- );
1231
-
1232
- layer.serverResolutions = [32, 16, 8];
1233
-
1234
- map.addLayer(layer);
1235
- map.setCenter(new OpenLayers.LonLat(0, 0), 2);
1236
-
1237
- var origCreateBackBuffer = OpenLayers.Tile.Image.prototype.createBackBuffer;
1238
- OpenLayers.Tile.Image.prototype.createBackBuffer = function() {
1239
- return document.createElement('div');
1240
- };
1241
-
1242
- // we want to control when the back buffer is removed
1243
- var removeBackBuffer = OpenLayers.Function.bind(
1244
- layer.removeBackBuffer, layer);
1245
- layer.removeBackBuffer = function() {};
1246
-
1247
- //
1248
- // test
1249
- //
1250
-
1251
- // change resolution from 8 to 4
1252
- map.zoomTo(3);
1253
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1254
- '[8->4] back buffer not scaled');
1255
- removeBackBuffer();
1256
-
1257
- // change resolution from 8 to 2
1258
- map.zoomTo(2); removeBackBuffer(); map.zoomTo(4);
1259
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1260
- '[8->2] back buffer not scaled');
1261
- removeBackBuffer();
1262
-
1263
- // change resolution from 16 to 4
1264
- map.zoomTo(1); removeBackBuffer(); map.zoomTo(3);
1265
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 2,
1266
- '[16->4] back buffer width is as expected');
1267
- t.eq(parseInt(layer.backBuffer.firstChild.style.height) / parseInt(layer.div.lastChild.style.height), 2,
1268
- '[16->4] back buffer height is as expected');
1269
- removeBackBuffer();
1270
-
1271
- // change resolution from 32 to 1
1272
- map.zoomTo(0); removeBackBuffer(); map.zoomTo(5);
1273
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 4,
1274
- '[32->1] back buffer width is as expected');
1275
- t.eq(parseInt(layer.backBuffer.firstChild.style.height) / parseInt(layer.div.lastChild.style.height), 4,
1276
- '[32->1] back buffer height is as expected');
1277
- removeBackBuffer();
1278
-
1279
- // change resolution from 4 to 2
1280
- map.zoomTo(3); removeBackBuffer(); map.zoomTo(4);
1281
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1282
- '[4->2] back buffer not scaled');
1283
- removeBackBuffer();
1284
-
1285
- // change resolution from 4 to 1
1286
- map.zoomTo(3); removeBackBuffer(); map.zoomTo(5);
1287
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1288
- '[4->1] back buffer not scaled');
1289
- removeBackBuffer();
1290
-
1291
- // change resolution from 1 to 4
1292
- map.zoomTo(5); removeBackBuffer(); map.zoomTo(3);
1293
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1294
- '[1->4] back buffer not scaled');
1295
- removeBackBuffer();
1296
-
1297
- // change resolution from 4 to 8
1298
- map.zoomTo(3); removeBackBuffer(); map.zoomTo(2);
1299
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 1,
1300
- '[4->8] back buffer not scaled');
1301
- removeBackBuffer();
1302
-
1303
- // change resolution from 4 to 16
1304
- map.zoomTo(3); removeBackBuffer(); map.zoomTo(1);
1305
- t.eq(parseInt(layer.backBuffer.firstChild.style.width) / parseInt(layer.div.lastChild.style.width), 0.5,
1306
- '[4->16] back buffer width is as expected');
1307
- t.eq(parseInt(layer.backBuffer.firstChild.style.height) / parseInt(layer.div.lastChild.style.height), 0.5,
1308
- '[4->16] back buffer height is as expected');
1309
- removeBackBuffer();
1310
-
1311
- //
1312
- // tear down
1313
- //
1314
-
1315
- map.destroy();
1316
- OpenLayers.Tile.Image.prototype.createBackBuffer = origCreateBackBuffer
1317
- }
1318
-
1319
-
1320
- function test_delayed_back_buffer_removal(t) {
1321
- //
1322
- // Test that the delaying of the back buffer removal behaves
1323
- // as expected.
1324
- //
1325
-
1326
- t.plan(5);
1327
-
1328
- // set up
1329
-
1330
- var map = new OpenLayers.Map('map', {
1331
- resolutions: [32, 16, 8, 4, 2, 1],
1332
- zoomMethod: null
1333
- });
1334
- var layer = new OpenLayers.Layer.WMS('', '', {}, {
1335
- isBaseLayer: true,
1336
- transitionEffect: 'resize'
1337
- });
1338
- map.addLayer(layer);
1339
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
1340
-
1341
- map.zoomTo(1);
1342
-
1343
- t.ok(layer.backBuffer === map.layerContainerDiv.firstChild,
1344
- '[a] back buffer is first child of layer container div');
1345
-
1346
- // Mark one tile loaded and add an element to the backbuffer, to see if
1347
- // backbuffer removal gets scheduled.
1348
- layer.backBuffer.appendChild(document.createElement('img'));
1349
- layer.grid[1][1].onImageLoad();
1350
-
1351
- t.ok(layer.backBufferTimerId !== null,
1352
- '[a] back buffer scheduled for removal');
1353
-
1354
- var backBuffer = layer.backBuffer;
1355
-
1356
- map.zoomTo(2);
1357
-
1358
- t.ok(layer.backBuffer !== backBuffer,
1359
- '[b] a new back buffer was created');
1360
- t.ok(layer.backBuffer === map.layerContainerDiv.firstChild,
1361
- '[b] back buffer is first child of layer container div');
1362
- t.ok(layer.backBufferTimerId === null,
1363
- '[b] back buffer no longer scheduled for removal');
1364
-
1365
- // tear down
1366
-
1367
- map.destroy();
1368
- }
1369
-
1370
- function test_getGridData(t) {
1371
- t.plan(12);
1372
-
1373
- var layer = new OpenLayers.Layer.Grid(null, null, null, {
1374
- isBaseLayer: true, getURL: function() {
1375
- return "/bogus/path/to/tile";
1376
- }
1377
- });
1378
- var map = new OpenLayers.Map({
1379
- div: "map",
1380
- layers: [layer],
1381
- controls: [],
1382
- center: [0, 0],
1383
- zoom: 1
1384
- });
1385
-
1386
- // get tile data for [0, 0]
1387
- var data = layer.getTileData({lon: 0, lat: 0});
1388
- t.ok(data && data.tile, "[0, 0]: got tile data");
1389
- t.eq(data.i, 0, "[0, 0]: i");
1390
- t.eq(data.j, 128, "[0, 0]: j");
1391
- t.ok(
1392
- data.tile.bounds.equals({left: 0, bottom: -90, right: 180, top: 90}),
1393
- "[0, 0]: tile bounds " + data.tile.bounds.toString()
1394
- );
1395
-
1396
- // get tile data for [-110, 45]
1397
- data = layer.getTileData({lon: -110, lat: 45});
1398
- t.ok(data && data.tile, "[-110, 45]: got tile data");
1399
- t.eq(data.i, 99, "[-110, 45]: i");
1400
- t.eq(data.j, 64, "[-110, 45]: j");
1401
- t.ok(
1402
- data.tile.bounds.equals({left: -180, bottom: -90, right: 0, top: 90}),
1403
- "[-110, 45]: tile bounds " + data.tile.bounds.toString()
1404
- );
1405
-
1406
- // get tile data for [0, 300] (north of grid)
1407
- data = layer.getTileData({lon: 0, lat: 300})
1408
- t.eq(data, null, "[0, 300]: north of grid");
1409
-
1410
- // get tile data for [400, 0] (east of grid)
1411
- data = layer.getTileData({lon: 400, lat: 0})
1412
- t.eq(data, null, "[400, 0]: east of grid");
1413
-
1414
- // get tile data for [0, -500] (south of grid)
1415
- data = layer.getTileData({lon: 0, lat: -500})
1416
- t.eq(data, null, "[0, -500]: south of grid");
1417
-
1418
- // get tile data for [-200, 0] (west of grid)
1419
- data = layer.getTileData({lon: -200, lat: 0})
1420
- t.eq(data, null, "[-200, 0]: west of grid");
1421
-
1422
- map.destroy();
1423
-
1424
- }
1425
-
1426
- function test_getGridData_wrapped(t) {
1427
- t.plan(18);
1428
-
1429
- var layer = new OpenLayers.Layer.Grid(null, null, null, {
1430
- isBaseLayer: true, getURL: function() {
1431
- return "/bogus/path/to/tile";
1432
- },
1433
- wrapDateLine: true
1434
- });
1435
- var map = new OpenLayers.Map({
1436
- div: "map",
1437
- layers: [layer],
1438
- controls: [],
1439
- center: [-50, 0],
1440
- zoom: 1
1441
- });
1442
-
1443
- // get tile data for [0, 0]
1444
- var data = layer.getTileData({lon: 0, lat: 0});
1445
- t.ok(data && data.tile, "[0, 0]: got tile data");
1446
- t.eq(data.i, 0, "[0, 0]: i");
1447
- t.eq(data.j, 128, "[0, 0]: j");
1448
- t.ok(
1449
- data.tile.bounds.equals({left: 0, bottom: -90, right: 180, top: 90}),
1450
- "[0, 0]: tile bounds " + data.tile.bounds.toString()
1451
- );
1452
-
1453
- // get tile data for [-110, 45]
1454
- data = layer.getTileData({lon: -110, lat: 45});
1455
- t.ok(data && data.tile, "[-110, 45]: got tile data");
1456
- t.eq(data.i, 99, "[-110, 45]: i");
1457
- t.eq(data.j, 64, "[-110, 45]: j");
1458
- t.ok(
1459
- data.tile.bounds.equals({left: -180, bottom: -90, right: 0, top: 90}),
1460
- "[-110, 45]: tile bounds " + data.tile.bounds.toString()
1461
- );
1462
-
1463
- // get tile data for [0, 300] (north of grid)
1464
- data = layer.getTileData({lon: 0, lat: 300})
1465
- t.eq(data, null, "[0, 300]: north of grid");
1466
-
1467
- // get tile data for [400, 0] (equivalent to [40, 0] and visible on map)
1468
- data = layer.getTileData({lon: 400, lat: 0})
1469
- t.ok(data && data.tile, "[400, 0]: got tile data");
1470
- t.eq(data.i, 56, "[400, 0]: i");
1471
- t.eq(data.j, 128, "[400, 0]: j");
1472
- t.ok(
1473
- data.tile.bounds.equals({left: 0, bottom: -90, right: 180, top: 90}),
1474
- "[400, 0]: tile bounds " + data.tile.bounds.toString()
1475
- );
1476
-
1477
- // get tile data for [0, -500] (south of grid)
1478
- data = layer.getTileData({lon: 0, lat: -500})
1479
- t.eq(data, null, "[0, -500]: south of grid");
1480
-
1481
- // get tile data for [-200, 0] (equivalent to [160, 0] and wrapped to west side map)
1482
- data = layer.getTileData({lon: -200, lat: 0})
1483
- t.ok(data && data.tile, "[-200, 0]: got tile data");
1484
- t.eq(data.i, 227, "[-200, 0]: i");
1485
- t.eq(data.j, 128, "[-200, 0]: j");
1486
- t.ok(
1487
- data.tile.bounds.equals({left: 0, bottom: -90, right: 180, top: 90}),
1488
- "[-200, 0]: tile bounds " + data.tile.bounds.toString()
1489
- );
1490
-
1491
- map.destroy();
1492
-
1493
- }
1494
-
1495
- function test_removeExcessTiles(t) {
1496
- t.plan(15);
1497
-
1498
- /*
1499
- * Set up
1500
- */
1501
-
1502
- var map = new OpenLayers.Map('map');
1503
- var layer = new OpenLayers.Layer.Grid('name', '/url',
1504
- {}, {isBaseLayer: true});
1505
- map.addLayer(layer);
1506
-
1507
- function newTile(id) {
1508
- var t = new OpenLayers.Tile(layer,
1509
- new OpenLayers.Pixel(1, 1),
1510
- new OpenLayers.Bounds(1, 1, 1, 1));
1511
- t._id = id;
1512
- return t;
1513
- }
1514
-
1515
- layer.grid = [
1516
- [newTile(1), newTile(2), newTile(3)],
1517
- [newTile(4), newTile(5)],
1518
- [newTile(6), newTile(7), newTile(8)]
1519
- ];
1520
-
1521
- // create a clone to be able to test whether
1522
- // tiles have been destroyed or not
1523
- var grid = [
1524
- layer.grid[0].slice(),
1525
- layer.grid[1].slice(),
1526
- layer.grid[2].slice()
1527
- ];
1528
-
1529
- /*
1530
- * Test
1531
- */
1532
-
1533
- layer.removeExcessTiles(2, 2);
1534
-
1535
- t.eq(layer.grid.length, 2, 'grid has two rows');
1536
- t.eq(layer.grid[0].length, 2, 'row #1 has two columns');
1537
- t.eq(layer.grid[0][0]._id, 1, 'row #1 col #1 includes expected tile');
1538
- t.eq(layer.grid[0][1]._id, 2, 'row #1 col #2 includes expected tile');
1539
- t.eq(layer.grid[1].length, 2, 'row #2 has two columns');
1540
- t.eq(layer.grid[1][0]._id, 4, 'row #2 col #1 includes expected tile');
1541
- t.eq(layer.grid[1][1]._id, 5, 'row #2 col #2 includes expected tile');
1542
-
1543
- t.ok(grid[0][0].events != null, 'tile 0,0 not destroyed');
1544
- t.ok(grid[0][1].events != null, 'tile 0,1 not destroyed');
1545
- t.ok(grid[0][2].events == null, 'tile 0,2 destroyed');
1546
- t.ok(grid[1][0].events != null, 'tile 1,0 not destroyed');
1547
- t.ok(grid[1][1].events != null, 'tile 1,1 not destroyed');
1548
- t.ok(grid[2][0].events == null, 'tile 2,0 destroyed');
1549
- t.ok(grid[2][1].events == null, 'tile 2,1 destroyed');
1550
- t.ok(grid[2][2].events == null, 'tile 2,2 destroyed');
1551
-
1552
- /*
1553
- * Tear down
1554
- */
1555
-
1556
- map.destroy();
1557
- }
1558
-
1559
- function test_addOptions(t) {
1560
- t.plan(15);
1561
- var map = new OpenLayers.Map('map');
1562
- layer = new OpenLayers.Layer.WMS(name, url, params, {buffer:2});
1563
- map.addLayer(layer);
1564
- t.eq(layer.tileSize, map.getTileSize(), "layer's tile size is equal to the map's tile size");
1565
- t.ok(layer.removeBackBufferDelay !== 0, "removeBackBufferDelay should not be 0 since we are not singleTile");
1566
- t.eq(layer.className, "olLayerGrid", "className correct for gridded mode");
1567
- map.setCenter(new OpenLayers.LonLat(0,0),5);
1568
- t.eq(layer.grid.length, 8, "Grid rows is correct.");
1569
- t.eq(layer.grid[0].length, 7, "Grid cols is correct.");
1570
- t.eq(layer.singleTile, false, "singleTile is false by default");
1571
- layer.addOptions({singleTile: true});
1572
- t.eq(layer.removeBackBufferDelay, 0, "removeBackBufferDelay set to 0 since singleTile is true");
1573
- t.eq(layer.singleTile, true, "singleTile set to true");
1574
- t.eq(layer.className, "olLayerGridSingleTile", "className correct for singleTile mode");
1575
- t.eq(layer.grid.length, 1, "Grid rows is correct.");
1576
- t.eq(layer.grid[0].length, 1, "Grid cols is correct.");
1577
- t.eq(layer.tileSize, new OpenLayers.Size(748, 823), "tile size changed");
1578
- layer.addOptions({singleTile: false});
1579
- t.eq(layer.grid.length, 8, "Grid rows is correct.");
1580
- t.eq(layer.grid[0].length, 7, "Grid cols is correct.");
1581
- t.eq(layer.tileSize, map.getTileSize(), "layer's tile size is equal to the map's tile size");
1582
- map.destroy();
1583
- }
1584
-
1585
- </script>
1586
- </head>
1587
- <body>
1588
- <div id="map" style="width:499px;height:549px;display:none"></div>
1589
- <div id="map2" style="width:500px;height:550px;display:none"></div>
1590
- <div id="map3" style="width:594px;height:464px;display:none"></div>
1591
- <div id="map4" style="width:768px;height:512px;display:none"></div>
1592
- </body>
1593
- </html>