postrunner 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,34 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <feed xmlns="http://www.w3.org/2005/Atom"
3
- xmlns:georss="http://www.georss.org/georss">
4
-
5
- <title>tumulus</title>
6
- <link rel="self"
7
- href="http://pleiades.stoa.org/places/tumulus"/>
8
- <updated/>
9
- <author/>
10
- <id>http://pleiades.stoa.org/places/tumulus</id>
11
-
12
- <entry>
13
- <title>Unnamed Tumulus</title>
14
- <link rel="alternate"
15
- href="http://pleiades.stoa.org/places/638896"
16
- />
17
- <id>http://pleiades.stoa.org/places/638896</id>
18
- <updated/>
19
- <summary>An ancient tumulus, attested during the Classical period (modern location: Karaburun). Its ancient name is not known.</summary>
20
- <georss:point>36.7702 29.9805</georss:point>
21
- </entry>
22
- <entry>
23
- <title>Unnamed Tumulus</title>
24
- <link rel="alternate"
25
- href="http://pleiades.stoa.org/places/638924"
26
- />
27
- <id>http://pleiades.stoa.org/places/638924</id>
28
- <updated/>
29
- <summary>An ancient tumulus, attested during the Classical period (modern location: Kızılbel). Its ancient name is not known.</summary>
30
- <georss:point>36.7263 29.8619</georss:point>
31
- </entry>
32
-
33
- </feed>
34
-
@@ -1,2447 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html><head>
3
- <meta http-equiv="refresh" content="1200" />
4
- <title> Run the testsuite</title>
5
- <noscript>Javascript is disabled in your browser. This page cannot be displayed correctly without Javascript. Sorry. <br/> If you want to view this page, please change your browser settings so that Javascript is enabled.</noscript>
6
- <!--
7
- Test.AnotherWay version 0.5
8
-
9
- Copyright (c) 2005 Artem Khodush, http://straytree.org
10
-
11
- Permission is hereby granted, free of charge, to any person obtaining
12
- a copy of this software and associated documentation files (the
13
- "Software"), to deal in the Software without restriction, including
14
- without limitation the rights to use, copy, modify, merge, publish,
15
- distribute, sublicense, and/or sell copies of the Software, and to
16
- permit persons to whom the Software is furnished to do so, subject to
17
- the following conditions:
18
-
19
- The above copyright notice and this permission notice shall be
20
- included in all copies or substantial portions of the Software.
21
-
22
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
- -->
30
- <style type="text/css">
31
- * { padding: 0; margin: 0; }
32
- html { height: 99%; }
33
- body { height: 98%; font: normal normal 10pt sans-serif }
34
- #col1 { float: left; width: 27em; margin: 0 0 0 1em; overflow: visible; }
35
- #col2 { position: relative; height: 98%; margin: 0 0.5em 0 28em; }
36
- #col1_header { margin-top: 0.5em; }
37
- #scroller { height: 400px; overflow: auto;}
38
- #testtable { margin: 0 0 2em 0; width: 97%; }
39
- #run_buttons { margin-bottom: 4em; }
40
-
41
- #right_header { padding-top: 0.8em; }
42
- #results_count { float: left; }
43
- .active_tab { float: right; padding: 0 1em 0.2em 1em; background: #0af; border: 1px solid #048; border-bottom: none; cursor: pointer; cursor: hand;
44
- position: relative; top: -0.2em; }
45
- .inactive_tab { float: right; padding: 0 1em 0 1em; background: #9bb; color: #444; border: 1px solid #9bb; border-bottom: none; cursor: pointer; cursor: hand; }
46
- .inactive_mouseover_tab { float: right; padding: 0 1em 0 1em; background: #9bb; color: #062; border: 1px solid #062; border-bottom: none; cursor: pointer; cursor: hand; }
47
-
48
- #right_frame { overflow: auto; position: relative; top: -0.2em; clear: right; height: 95%; border: 1px solid #048; }
49
-
50
- #debug { display: none; }
51
- #debug p { margin: 2px 0 0 5em; text-indent: -4.8em; }
52
-
53
- #error { display: none; color: #c22; }
54
-
55
- #results p { margin: 0 0 2px 0; }
56
- /* cursor indicating that detailed results may be expanded/contracted */
57
- #results p.badtest { cursor: text; }
58
- #results p.ok, #results p.fail { cursor: pointer; cursor: hand; }
59
-
60
- /* colored squares in the results window at the left of test page names */
61
- #results p.ok .bullet { background: #6d6; }
62
- #results p.fail .bullet { background: #d46; }
63
- #results p.badtest .bullet { background: #ea3; }
64
- #results p.loading .bullet { background: #48f; }
65
- #results p.running .bullet { background: #26e; }
66
- #results p.waiting .bullet { background: #04d; }
67
- /* highlight in the results line */
68
- #results p .warning { background: #ffc; }
69
-
70
- /* layout of the detailed results */
71
- .result_detail { padding-left: 3em; }
72
- .result_exception_detail { padding-left: 4em; }
73
- .result_exception_stack_detail { padding-left: 5em; }
74
- .result_micro_detail { padding-left: 6em; }
75
- /* colouring in the detailed results */
76
- .result_detail .fail, .result_exception_detail .fail, .result_micro_detail .fail { background: #ffd8d8; }
77
-
78
- /* "start recording" controls*/
79
- #record_div { margin-top: 3em; }
80
- #record_div p { margin-bottom: 0.5em; }
81
- #record_select { width: 88%; }
82
- #record_input { width: 53%; }
83
- </style>
84
- <script type="text/javascript">
85
- <!--
86
-
87
- function report_results() {
88
- req = false;
89
- // branch for native XMLHttpRequest object
90
- if(window.XMLHttpRequest && !(window.ActiveXObject)) {
91
- try {
92
- req = new XMLHttpRequest();
93
- } catch(e) {
94
- req = false;
95
- }
96
- // branch for IE/Windows ActiveX version
97
- } else if(window.ActiveXObject) {
98
- try {
99
- req = new ActiveXObject("Msxml2.XMLHTTP");
100
- } catch(e) {
101
- try {
102
- req = new ActiveXObject("Microsoft.XMLHTTP");
103
- } catch(e) {
104
- req = false;
105
- }
106
- }
107
- }
108
- req.open("POST", "/test/results.cgi");
109
- req.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');
110
- var results = document.getElementById('total').innerHTML;
111
- var test_text = "";
112
- if (results.match("fail")) {
113
- test_text = document.getElementById("results").innerHTML;
114
- }
115
- req.send("results="+escape(results)+"&test_text="+escape(test_text));
116
- }
117
-
118
- if( typeof( Test )=="undefined" ) {
119
- Test={};
120
- }
121
- Test.AnotherWay={};
122
-
123
- Test.AnotherWay._g_test_iframe=null; // frame where to load test pages
124
- Test.AnotherWay._g_test_frame_no_clear=false; // true - leave last page displayed after tests end
125
- Test.AnotherWay._g_test_page_urls=[]; // array of: { url: url, convention: "anotherway" or "jsan" }
126
- Test.AnotherWay._g_test_object_for_jsan=null; // test object for filling by tests that adhere to jsan Test.Simple calling convention
127
- Test.AnotherWay._g_pages_to_run=null; // list of pages to run automatically after loading
128
- Test.AnotherWay._g_run_on_main_load=false; // special handling for run_pages_to_run when it might be called before onload or before list of test pages is known.
129
- Test.AnotherWay._g_run_on_list_load=false;
130
- Test.AnotherWay._g_main_loaded=false;
131
-
132
- Test.AnotherWay._run_pages_to_run=function( called_from_outside )
133
- {
134
- if( !Test.AnotherWay._g_main_loaded ) {
135
- Test.AnotherWay._g_run_on_main_load=true;
136
- }else {
137
- var a_pages=Test.AnotherWay._g_pages_to_run;
138
- if( a_pages=="all" ) {
139
- for( var i=0; i<Test.AnotherWay._g_test_page_urls.length; ++i ) {
140
- Test.AnotherWay._run_test_page( "test"+i );
141
- }
142
- }else if( a_pages!=null ) {
143
- for( var run_i=0; run_i<a_pages.length; ++run_i ) {
144
- var run_page=a_pages[run_i];
145
- var found=false;
146
- for( var all_i=0; all_i<Test.AnotherWay._g_test_page_urls.length; ++all_i ) {
147
- if( run_page==Test.AnotherWay._g_test_page_urls[all_i].url ) {
148
- Test.AnotherWay._run_test_page( "test"+all_i, called_from_outside );
149
- found=true;
150
- break;
151
- }
152
- }
153
- if( !found ) {
154
- Test.AnotherWay._show_error( "page specified to run is not found in the page list: "+run_page );
155
- break;
156
- }
157
- }
158
- }
159
- }
160
- }
161
-
162
- Test.AnotherWay._add_test_page_url=function( test_url, convention )
163
- {
164
- var table=document.getElementById( "testtable" );
165
- var record_select=document.getElementById( "record_select" );
166
- var index=Test.AnotherWay._g_test_page_urls.length;
167
-
168
- // trim spaces.
169
- if( test_url.match( "^(\\s*)(.*\\S)(\\s*)$" ) ) {
170
- test_url=RegExp.$2;
171
- }
172
-
173
- Test.AnotherWay._g_test_page_urls[index]={ url: test_url, convention: convention };
174
- var row=table.insertRow( -1 );
175
-
176
- var cell;
177
- var cell_child;
178
- cell=row.insertCell( -1 );
179
- cell_child=document.createElement( "input" );
180
- cell_child.type="checkbox";
181
- cell_child.id="checkbox"+index;
182
- cell_child.checked='checked';
183
- cell_child.defaultChecked='checked';
184
- cell.appendChild( cell_child );
185
-
186
- cell=row.insertCell( -1 );
187
- cell.setAttribute( "width", "75%" );
188
- cell.appendChild( document.createTextNode( test_url ) );
189
-
190
- cell=row.insertCell( -1 );
191
- cell_child=document.createElement( "input" );
192
- cell_child.type="button";
193
- cell_child.id="test"+index;
194
- cell_child.value=" run ";
195
- cell_child.onclick=Test.AnotherWay._run_one_onclick;
196
- cell.appendChild( cell_child );
197
-
198
- cell=row.insertCell( -1 );
199
- cell.setAttribute( "width", "8em" );
200
- cell_child=document.createElement( "span" );
201
- cell.appendChild( cell_child );
202
-
203
- var option=document.createElement( "option" );
204
- option.appendChild( document.createTextNode( test_url ) );
205
- record_select.appendChild( option );
206
- }
207
- Test.AnotherWay._show_error=function( msg )
208
- {
209
- var error_div=document.getElementById( "error" );
210
- error_div.innerHTML="";
211
- error_div.appendChild( document.createTextNode( msg ) );
212
- error_div.style.display="block";
213
- }
214
-
215
- // read urls from the list in the html file inside the list_iframe
216
- // fill on-screen list with urls and "run" buttons, and fill the g_test_page_urls object.
217
- Test.AnotherWay._list_iframe_onload=function()
218
- {
219
- if( window.frames.list_iframe!=null && window.frames.list_iframe.location!="" && window.frames.list_iframe.location!="about:blank" ) {
220
- var list_doc=window.frames.list_iframe.document;
221
- var list=list_doc.getElementById( "testlist" );
222
- if( list!=null ) {
223
- for( var i=0; i<list.childNodes.length; ++i ) {
224
- var item=list.childNodes[i];
225
- if( item.nodeName=="LI" || item.nodeName=="li" ) {
226
- var convention="anotherway";
227
- if( Test.AnotherWay._get_css_class( item )=="jsan" ) {
228
- convention="jsan";
229
- }
230
- Test.AnotherWay._add_test_page_url( item.innerHTML, convention );
231
- }
232
- }
233
- if( Test.AnotherWay._g_run_on_list_load ) {
234
- Test.AnotherWay._g_run_on_list_load=false;
235
- Test.AnotherWay._run_pages_to_run();
236
- }
237
- }else {
238
- Test.AnotherWay._show_error( "no list with id 'testlist' in a list file "+window.frames.list_iframe.location );
239
- }
240
- }
241
- }
242
-
243
- Test.AnotherWay._map_checkboxes=function( f )
244
- {
245
- var table=document.getElementById( "testtable" );
246
- var checks=table.getElementsByTagName( "INPUT" );
247
- for( var i=0; i<checks.length; ++i ) {
248
- if( checks[i].type=="checkbox" && checks[i].id.match( /^checkbox(\d+)$/ ) ) {
249
- f( checks[i], RegExp.$1 );
250
- }
251
- }
252
- }
253
- Test.AnotherWay._run_all_onclick=function()
254
- {
255
- Test.AnotherWay._map_checkboxes( function( c, id ) { Test.AnotherWay._run_test_page( "test"+id ); } );
256
- }
257
- Test.AnotherWay._run_selected_onclick=function()
258
- {
259
- Test.AnotherWay._map_checkboxes( function( c, id ) { if( c.checked ) Test.AnotherWay._run_test_page( "test"+id ); } );
260
- }
261
- Test.AnotherWay._unselect_all_onclick=function()
262
- {
263
- Test.AnotherWay._map_checkboxes( function( c, id ) { c.checked=false; } );
264
- }
265
- Test.AnotherWay._run_one_onclick=function()
266
- {
267
- Test.AnotherWay._run_test_page( this.id );
268
- }
269
-
270
- // construct an object that will gather results of running one test function
271
- Test.AnotherWay._test_object_t=function( fun_name )
272
- {
273
- this.name=fun_name; // name of the test function
274
- this.n_plan=null; // planned number of assertions
275
- this.n_ok=0; // # of ok assertions
276
- this.n_fail=0; // # of failed assertions
277
- this.exception=""; // if the function throwed an exception, it's its message
278
- this.exception_stack=[]; // strings: function call stack from the exception
279
- this.assertions=[]; // assertion results: array of { ok: 1 or 0, name: string }
280
- this.wait_result_milliseconds=0; // how long to wait before collecting results from the test
281
- this.second_wait_msg=null; // <p> status message (in addition to the page wait_msg)
282
- this.delay_actions=[]; // array of actions to be perfomed after the test function returns
283
- // action : { acton_kind: "call" | "window" | "replay"
284
- // when "call": { call_fn call_delay_milliseconds } call_fn takes nothing
285
- // when "window" : { wnd_url wnd_wnd wnd_fn wnd_timeout_milliseconds wnd_dont_close } wnd_fn takes wnd
286
- // wnen "replay" : { replay_wnd replay_events replay_event_i replay_checkpoints } checkpoint_fn takes this, wnd
287
- // }
288
- this.delay_action_i=null; // index of delay action currently being performed
289
- this.delay_prev_timer_time=0; // for counting time while performing delay_actions
290
- this.delay_current_milliseconds_left=0; // time left before the next action, runs down
291
- this.delay_total_milliseconds_left=0; // for indication: total estimated time for all actions, runs up and down
292
- }
293
-
294
- Test.AnotherWay._test_object_t.prototype.ok=function( cond, name )
295
- {
296
- if( cond ) {
297
- ++this.n_ok;
298
- cond=1;
299
- }else {
300
- ++this.n_fail;
301
- cond=0;
302
- }
303
- this.assertions.push( { ok: cond, name: name } );
304
- }
305
- Test.AnotherWay._test_object_t.prototype.fail=function( name )
306
- {
307
- this.ok( false, name );
308
- }
309
- Test.AnotherWay._test_object_t.prototype.plan=function( n )
310
- {
311
- this.n_plan=n;
312
- }
313
- Test.AnotherWay._test_object_t.prototype.wait_result=function( seconds )
314
- {
315
- this.wait_result_milliseconds=1000*seconds;
316
- }
317
- Test.AnotherWay._eq_fail_msg=function( path, what, expected, got )
318
- {
319
- return "eq: "+path+" "+what+" differ: got "+got+", but expected "+expected;
320
- }
321
- Test.AnotherWay._array_eq=function( expected, got, path, msg )
322
- {
323
- if( expected.length!=got.length ) {
324
- msg.msg=Test.AnotherWay._eq_fail_msg( path, "array length", expected.length, got.length );
325
- return false;
326
- }
327
- for( var i=0; i<expected.length; ++i ) {
328
- if( !Test.AnotherWay._thing_eq( expected[i], got[i], path+"["+i+"]", msg ) ) {
329
- return false;
330
- }
331
- }
332
- return true;
333
- }
334
- Test.AnotherWay._object_eq=function( expected, got, path, msg )
335
- {
336
- var v;
337
- for( v in expected ) {
338
- if( ! (v in got) ) {
339
- msg.msg=Test.AnotherWay._eq_fail_msg( path+"."+v, "properties", expected[v], "undefined" );
340
- return false;
341
- }
342
- if( !Test.AnotherWay._thing_eq( expected[v], got[v], path+"."+v, msg ) ) {
343
- return false;
344
- }
345
- }
346
- for( v in got ) {
347
- if( ! (v in expected) ) {
348
- msg.msg=Test.AnotherWay._eq_fail_msg( path+"."+v, "properties", "undefined", got[v] );
349
- return false;
350
- }
351
- }
352
- return true;
353
- }
354
- Test.AnotherWay._constructor_name=function( x )
355
- {
356
- if( x==null ) {
357
- return "";
358
- }
359
- var s="unknown";
360
- try {
361
- s=typeof( x.constructor );
362
- if( s!="unknown" ) {
363
- s=x.constructor.toString();
364
- }
365
- }catch( e ) {
366
- s="unknown";
367
- }
368
- if( s=="unknown" ) {
369
- // hackish attempt to guess a type
370
- var is_array=true;
371
- var index=0;
372
- for( i in x ) {
373
- if( i!=index ) {
374
- is_array=false;
375
- }
376
- ++index;
377
- }
378
- return is_array ? "Array" : "Object"; // for empty arrays/objects, this will be wrong half the time
379
- }else if( s.match( /^\s*function\s+(\w+)\s*\(/ ) ) {
380
- return RegExp.$1;
381
- }else {
382
- var c = '';
383
- switch(typeof x) {
384
- case 'string':
385
- c = 'String';
386
- break;
387
- case 'object':
388
- c = 'Object';
389
- break;
390
- default:
391
- c = '';
392
- }
393
- return c; }
394
- }
395
- Test.AnotherWay._is_array=function( x )
396
- {
397
- return Test.AnotherWay._constructor_name( x )=="Array";
398
- }
399
- Test.AnotherWay._is_value_type=function( x )
400
- {
401
- cn=Test.AnotherWay._constructor_name( x );
402
- return cn=="Number" || cn=="String" || cn=="Boolean" || cn=="Date";
403
- }
404
- Test.AnotherWay._thing_eq=function( expected, got, path, msg )
405
- {
406
- if( expected==null && got==null ) {
407
- return true;
408
- }else if( (expected==null && got!=null) || (expected!=null && got==null) ) {
409
- msg.msg=Test.AnotherWay._eq_fail_msg( path, "values", expected, got );
410
- return false;
411
- }else {
412
- var expected_cn=Test.AnotherWay._constructor_name( expected );
413
- var got_cn=Test.AnotherWay._constructor_name( got );
414
- if( expected_cn!=got_cn ) {
415
- msg.msg=Test.AnotherWay._eq_fail_msg( path, "types", expected_cn, got_cn );
416
- return false;
417
- }else {
418
- if( Test.AnotherWay._is_array( expected ) ) {
419
- return Test.AnotherWay._array_eq( expected, got, path, msg );
420
- }else if( Test.AnotherWay._is_value_type( expected ) ) {
421
- if( expected!=got ) {
422
- msg.msg=Test.AnotherWay._eq_fail_msg( path, "values", expected, got );
423
- return false;
424
- }else {
425
- return true;
426
- }
427
- }else { // just a plain object
428
- return Test.AnotherWay._object_eq( expected, got, path, msg );
429
- }
430
- }
431
- }
432
- }
433
- Test.AnotherWay._test_object_t.prototype.eq=function( got, expected, name )
434
- {
435
- var msg={};
436
- if( Test.AnotherWay._thing_eq( expected, got, "", msg ) ) {
437
- this.ok( 1, name );
438
- }else {
439
- this.fail( name+". "+msg.msg );
440
- }
441
- }
442
- Test.AnotherWay._test_object_t.prototype.like=function( got, expected, name )
443
- {
444
- if( got.match( expected )!=null ) {
445
- this.ok( 1, name );
446
- }else {
447
- this.fail( name+": got "+got+", but expected it to match: "+expected );
448
- }
449
- }
450
- Test.AnotherWay._g_html_eq_span=null;
451
- Test.AnotherWay._html_eq_string_to_node=function( string_or_node, what, msg )
452
- {
453
- if( string_or_node.nodeType!=null ) {
454
- string_or_node=Test.AnotherWay._html_eq_node_to_string( string_or_node ); // double trip - to make properties assigned in scripts available as html node attributes
455
- }
456
- if( Test.AnotherWay._g_html_eq_span==null ) {
457
- Test.AnotherWay._g_html_eq_span=document.createElement( "span" );
458
- }
459
- Test.AnotherWay._g_html_eq_span.innerHTML=string_or_node;
460
- if( Test.AnotherWay._g_html_eq_span.childNodes.length!=1 ) {
461
- msg.msg="bad "+what+" html string given (should contain exactly one outermost element): "+string_or_node;
462
- }
463
- return Test.AnotherWay._g_html_eq_span.childNodes[0].cloneNode( true );
464
- }
465
- Test.AnotherWay._html_eq_node_to_string=function( node ) {
466
- if( Test.AnotherWay._g_html_eq_span==null ) {
467
- Test.AnotherWay._g_html_eq_span=document.createElement( "span" );
468
- }
469
- Test.AnotherWay._g_html_eq_span.innerHTML="";
470
- if( node.outerHTML!=null ) {
471
- Test.AnotherWay._g_html_eq_span.innerHTML=node.outerHTML;
472
- }else {
473
- var clone = node.cloneNode(true);
474
- var node = Test.AnotherWay._g_html_eq_span;
475
- if(node.ownerDocument && node.ownerDocument.importNode) {
476
- if(node.ownerDocument != clone.ownerDocument) {
477
- clone = node.ownerDocument.importNode(clone, true);
478
- }
479
- }
480
- node.appendChild(clone);
481
- }
482
- return Test.AnotherWay._g_html_eq_span.innerHTML;
483
- }
484
- Test.AnotherWay._html_eq_path_msg=function( path )
485
- {
486
- var msg="";
487
- for( var i=0; i<path.length; ++i ) {
488
- msg+=" [node "+path[i].node;
489
- if( path[i].id!=null && path[i].id!="" ) {
490
- msg+=" id "+path[i].id;
491
- }else if( path[i].index!=null ) {
492
- msg+=" at index "+path[i].index;
493
- }
494
- msg+="] "
495
- }
496
- return msg;
497
- }
498
- Test.AnotherWay._html_eq_fail_msg=function( path, what, expected, got )
499
- {
500
- return Test.AnotherWay._html_eq_path_msg( path )+": "+what+" differ: got "+got+", but expected "+expected;
501
- }
502
- Test.AnotherWay._html_eq_remove_blank=function( text )
503
- {
504
- if( text==null ) {
505
- return "";
506
- }else if( text.match( "^(\\s*)(.*\\S)(\\s*)$" ) ) {
507
- return RegExp.$2;
508
- }else if( text.match( "\s*" ) ) {
509
- return "";
510
- }
511
- return text;
512
- }
513
- Test.AnotherWay._html_eq_remove_blank_nodes=function( node )
514
- {
515
- var to_remove=[];
516
- for( var child=node.firstChild; child!=null; child=child.nextSibling ) {
517
- if( child.nodeType==3 ) {
518
- var value=Test.AnotherWay._html_eq_remove_blank( child.nodeValue );
519
- if( value=="" ) {
520
- to_remove.push( child );
521
- }else {
522
- child.nodeValue=value;
523
- }
524
- }
525
- }
526
- for( var i=0; i<to_remove.length; ++i ) {
527
- node.removeChild( to_remove[i] );
528
- }
529
- }
530
- Test.AnotherWay._html_node_type_text=function( node_type )
531
- {
532
- if( node_type==1 ) {
533
- return "1 (html element)";
534
- }else if( node_type==3 ) {
535
- return "3 (text)";
536
- }else {
537
- return node_type;
538
- }
539
- }
540
- Test.AnotherWay._html_eq_node=function( expected, got, path, msg, expected_loc_base, got_loc_base )
541
- {
542
- if( expected.nodeType!=got.nodeType ) {
543
- msg.msg=Test.AnotherWay._html_eq_fail_msg( path, "node types", Test.AnotherWay._html_node_type_text( expected.nodeType ), Test.AnotherWay._html_node_type_text( got.nodeType ) );
544
- return false;
545
- }else if( expected.nodeType==3 ) {
546
- if( expected.nodeValue!=got.nodeValue ) {
547
- msg.msg=Test.AnotherWay._html_eq_fail_msg( path, "text", expected.nodeValue, got.nodeValue );
548
- return false;
549
- }
550
- }else if( expected.nodeType==1 ) {
551
- if( expected.nodeName!=got.nodeName ) {
552
- msg.msg=Test.AnotherWay._html_eq_fail_msg( path, "node names", expected.nodeName, got.nodeName );
553
- return false;
554
- }
555
- // compare attributes
556
- var expected_attrs={};
557
- var got_attrs={};
558
- var i;
559
- var a;
560
- for( i=0; i<expected.attributes.length; ++i ) {
561
- a=expected.attributes[i];
562
- if( a.specified ) {
563
- expected_attrs[a.name]=1;
564
- }
565
- }
566
- for( i=0; i<got.attributes.length; ++i ) {
567
- a=got.attributes[i];
568
- if( a.specified ) {
569
- got_attrs[a.name]=1;
570
- }
571
- }
572
- for( a in expected_attrs ) {
573
- if( ! (a in got_attrs) ) {
574
- msg.msg=Test.AnotherWay._html_eq_path_msg( path )+": attribute sets differ: expected attribute "+a+" is missing";
575
- return false;
576
- }
577
- }
578
- for( a in got_attrs ) {
579
- if( ! (a in expected_attrs) ) {
580
- msg.msg=Test.AnotherWay._html_eq_path_msg( path )+": attribute sets differ: got extra attribute "+a;
581
- return false;
582
- }
583
- }
584
- for( a in expected_attrs ) {
585
- var expected_value=expected.getAttribute( a );
586
- var got_value=got.getAttribute( a );
587
- if( typeof( expected_value )=="string" && typeof( got_value )=="string" ) {
588
- expected_value=Test.AnotherWay._html_eq_remove_blank( expected_value );
589
- got_value=Test.AnotherWay._html_eq_remove_blank( got_value );
590
- var ok=expected_value==got_value;
591
- if( !ok && (a=="href" || a=="HREF" ) ) { // try relative hrefs
592
- var expected_relative_value=expected_value;
593
- if( expected_loc_base!=null && expected_value.substring( 0, expected_loc_base.length )==expected_loc_base ) {
594
- expected_relative_value=expected_value.substring( expected_loc_base.length );
595
- }
596
- var got_relative_value=got_value;
597
- if( got_loc_base!=null && got_value.substring( 0, got_loc_base.length )==got_loc_base ) {
598
- got_relative_value=got_value.substring( got_loc_base.length );
599
- }
600
- ok=expected_relative_value==got_relative_value;
601
- }
602
- if( !ok ) {
603
- msg.msg=Test.AnotherWay._html_eq_fail_msg( path, "attribute "+a+" values", expected_value, got_value );
604
- return false;
605
- }
606
- }else if( typeof( expected_value )=="function" && typeof( got_value )=="function" ) {
607
- expected_value=expected_value.toString();
608
- got_value=got_value.toString();
609
- if( expected_value!=got_value ) {
610
- msg.msg=Test.AnotherWay._html_eq_fail_msg( path, "attribute "+a+" values", expected_value, got_value );
611
- return false;
612
- }
613
- }else {
614
- var value_msg={};
615
- if( !Test.AnotherWay._thing_eq( expected_value, got_value, "", value_msg ) ) {
616
- msg.msg=Test.AnotherWay._html_eq_path_msg( path )+": attribute "+a+" values differ: "+value_msg.msg;
617
- return false;
618
- }
619
- }
620
- }
621
- // compare child nodes
622
- Test.AnotherWay._html_eq_remove_blank_nodes( expected );
623
- Test.AnotherWay._html_eq_remove_blank_nodes( got );
624
- var expected_length=expected.childNodes.length;
625
- var got_length=got.childNodes.length;
626
- if( expected_length<got_length ) {
627
- msg.msg=Test.AnotherWay._html_eq_path_msg( path )+": got "+(got_length-expected_length)+" extra child nodes";
628
- return false;
629
- }else if( expected_length>got_length ) {
630
- msg.msg=Test.AnotherWay._html_eq_path_msg( path )+": expected "+(expected_length-got_length)+" more child nodes";
631
- return false;
632
- }else {
633
- for( i=0; i<expected_length; ++i ) {
634
- var expected_node=expected.childNodes[i];
635
- path.push( { node: expected_node.nodeName, id: expected_node.id, index: i } );
636
- var eq=Test.AnotherWay._html_eq_node( expected_node, got.childNodes[i], path, msg, expected_loc_base, got_loc_base );
637
- path.pop();
638
- if( !eq ) {
639
- return false;
640
- }
641
- }
642
- }
643
- }
644
- return true;
645
- }
646
- Test.AnotherWay._html_eq_get_loc_base=function( node )
647
- {
648
- var loc_base=document.location;
649
- if( node.ownerDocument!=null ) {
650
- loc_base=node.ownerDocument.location;
651
- }
652
- if( loc_base!=null ) {
653
- loc_base=loc_base.href;
654
- var slash_pos=loc_base.lastIndexOf( "/" );
655
- if( slash_pos!=-1 ) {
656
- loc_base=loc_base.substring( 0, slash_pos+1 );
657
- }
658
- }
659
- return loc_base;
660
- }
661
- Test.AnotherWay._test_object_t.prototype.html_eq=function( got, expected, name )
662
- {
663
- var msg={};
664
- var expected_node=Test.AnotherWay._html_eq_string_to_node( expected, "expected", msg );
665
- if( msg.msg!=null ) {
666
- this.fail( name+" html_eq: "+msg.msg );
667
- }else {
668
- var got_node=Test.AnotherWay._html_eq_string_to_node( got, "got", msg );
669
- if( msg.msg!=null ) {
670
- this.fail( name+" html_eq: "+msg.msg );
671
- }else {
672
- var expected_loc_base=Test.AnotherWay._html_eq_get_loc_base( expected );
673
- var got_loc_base=Test.AnotherWay._html_eq_get_loc_base( got );
674
- if( Test.AnotherWay._html_eq_node( expected_node, got_node, [], msg, expected_loc_base, got_loc_base ) ) {
675
- this.ok( 1, name );
676
- }else {
677
- var msg=name+" html_eq "+msg.msg;
678
- var expected_str=Test.AnotherWay._html_eq_node_to_string( expected_node );
679
- var got_str=Test.AnotherWay._html_eq_node_to_string( got_node );
680
- msg+=".\n got html: "+got_str;
681
- msg+=".\n expected html: "+expected_str;
682
- this.fail( msg );
683
- }
684
- }
685
- }
686
- }
687
- Test.AnotherWay._debug_pane_print=function( msg )
688
- {
689
- var d=new Date();
690
- var p=document.createElement( "p" );
691
- p.appendChild( document.createTextNode( d.toLocaleTimeString()+" "+msg ) );
692
- var debug_pane=document.getElementById( "debug" );
693
- debug_pane.appendChild( p );
694
- var debug_tab=document.getElementById( "debug_tab" );
695
- var results_tab=document.getElementById( "results_tab" );
696
- debug_tab.style.visibility="visible";
697
- results_tab.style.visibility="visible";
698
- }
699
- Test.AnotherWay._test_object_t.prototype.debug_print=function( msg )
700
- {
701
- Test.AnotherWay._debug_pane_print( this.name+": "+msg );
702
- }
703
- Test.AnotherWay._test_object_t.prototype.delay_call=function()
704
- {
705
- var timeout_ms=200;
706
- for( var i=0; i<arguments.length; ++i ) {
707
- if( typeof( arguments[i] )!="function" ) {
708
- timeout_ms=3000*arguments[i];
709
- }else {
710
- var action={ action_kind: "call", call_delay_milliseconds: timeout_ms, call_fn: arguments[i] };
711
- this.delay_total_milliseconds_left+=Test.AnotherWay._action_estimate_milliseconds( action );
712
- this.delay_actions.push( action );
713
- }
714
- }
715
- }
716
- Test.AnotherWay._test_object_t.prototype.open_window=function( url, fn, timeout_seconds )
717
- {
718
- if( timeout_seconds==null ) {
719
- timeout_seconds=4;
720
- }
721
- var no_close=document.getElementById( "dont_close_test_windows" );
722
- var action={ action_kind: "window", wnd_url: url.toString(), wnd_wnd: null, wnd_fn: fn, wnd_timeout_milliseconds: timeout_seconds*1000, wnd_no_close: no_close.checked };
723
- this.delay_total_milliseconds_left+=Test.AnotherWay._action_estimate_milliseconds( action );
724
- this.delay_actions.push( action );
725
- }
726
- Test.AnotherWay._test_object_t.prototype.replay_events=function( wnd, events )
727
- {
728
- if( Test.AnotherWay._g_no_record_msg!=null ) {
729
- this.fail( "replay_events: "+Test.AnotherWay._g_no_record_msg );
730
- }else {
731
- var action={ action_kind: "replay", replay_wnd: wnd, replay_events: events.events, replay_event_i: null, replay_checkpoints: events.checkpoints };
732
- this.delay_total_milliseconds_left+=Test.AnotherWay._action_estimate_milliseconds( action );
733
- this.delay_actions.push( action );
734
- }
735
- }
736
- Test.AnotherWay._action_estimate_milliseconds=function( action )
737
- {
738
- var ms=0;
739
- if( action.action_kind=="call" ) {
740
- ms=action.call_delay_milliseconds;
741
- }else if( action.action_kind=="window" ) {
742
- ms=0;
743
- }else if( action.action_kind=="replay" ) {
744
- ms=0;
745
- for( var i=0; i<action.replay_events.length; ++i ) {
746
- ms+=action.replay_events[i]["time"]-0;
747
- }
748
- }
749
- return ms;
750
- }
751
-
752
- Test.AnotherWay._g_timeout_granularity=200;
753
- Test.AnotherWay._g_tests_queue=[]; // vector of { url: string, test_objects : array of test_object_t, test_object_i: int, wait_msg: <p> object, loading_timeout_milliseconds: int, timeout_id: id }
754
-
755
- // load one html page, schedule further processing
756
- Test.AnotherWay._run_test_page=function( id, called_from_outside )
757
- {
758
- if( id.match( /^test(\d+)/ ) ) {
759
- id=RegExp.$1;
760
- Test.AnotherWay._g_tests_queue.push( {
761
- url: Test.AnotherWay._g_test_page_urls[id].url,
762
- convention: Test.AnotherWay._g_test_page_urls[id].convention,
763
- test_objects: []
764
- } );
765
- if( Test.AnotherWay._g_tests_queue.length==1 ) {
766
- if( !called_from_outside ) {
767
- // Crap. Be careful stepping around.
768
- // For Mozilla and Opera, when this file is included into the frameset page that is in another directory (and _g_outside_path_correction!=null)
769
- // but the test pages are started from within it (by "run" buttons), then:
770
- // depending on whether the page is the first one loaded into the test frame or not,
771
- // the base url for relative test pages differs.
772
- // Crap, like I said.
773
- Test.AnotherWay._g_tests_queue[0].suppress_outside_path_correction=true;
774
- }
775
- Test.AnotherWay._start_loading_page();
776
- }
777
- }
778
- }
779
- Test.AnotherWay._load_next_page=function()
780
- {
781
- Test.AnotherWay._g_tests_queue.splice( 0, 1 );
782
- if( Test.AnotherWay._g_tests_queue.length>0 ) {
783
- Test.AnotherWay._start_loading_page();
784
- }else {
785
- if( !Test.AnotherWay._g_test_frame_no_clear ) {
786
- Test.AnotherWay._g_test_iframe.location.replace( "about:blank" );
787
- }
788
- report_results();
789
- }
790
- }
791
- Test.AnotherWay._g_opera_path_correction=null; // ugly wart to support opera
792
- Test.AnotherWay._g_outside_path_correction=null; // ugly wart to accomodate Opera and Mozilla, where relative url relates to the directory where the page that calls this function is located
793
- Test.AnotherWay._set_iframe_location=function( iframe, loc, outside_path_correction )
794
- {
795
- // allow to load only locations with the same origin
796
- var proto_end=loc.indexOf( "://" );
797
- if( proto_end!=-1 ) { // otherwise, it's safe to assume (for Opera, Mozilla and IE ) that loc will be treated as relative
798
- var main_loc=window.location.href;
799
- var host_end=loc.substring( proto_end+3 ).indexOf( "/" );
800
- var ok=false;
801
- if( host_end!=-1 ) {
802
- var loc_origin=loc.substring( 0, proto_end+3+host_end+1 );
803
- if( main_loc.length>=loc_origin.length && main_loc.substring( 0, loc_origin.length )==loc_origin ) {
804
- ok=true;
805
- }
806
- }
807
- if( !ok ) {
808
- return { msg: "test pages may have only urls with the same origin as "+main_loc };
809
- }
810
- }
811
- // opera cannot handle urls relative to file:// without assistance
812
- if( window.opera!=null && window.location.protocol=="file:" && loc.indexOf( ":" )==-1 ) {
813
- var base=window.location.href;
814
- var q_pos=base.indexOf( "?" );
815
- if( q_pos!=-1 ) {
816
- base=base.substring( 0, q_pos );
817
- }
818
- var slash_pos=base.lastIndexOf( "/" );
819
- if( slash_pos!=-1 ) {
820
- base=base.substring( 0, slash_pos+1 );
821
- Test.AnotherWay._g_opera_path_correction=base;
822
- loc=base+loc;
823
- }
824
- }
825
- // if this function is called from another page, and if that page is in another directory, correction is needed
826
- if( outside_path_correction!=null ) {
827
- var pos=loc.indexOf( outside_path_correction );
828
- if( pos==0 ) {
829
- loc=loc.substring( outside_path_correction.length+1 );
830
- }
831
- }
832
- if( iframe.location!=null ) {
833
- iframe.location.replace( loc );
834
- }else {
835
- iframe.src=loc;
836
- }
837
- return {};
838
- }
839
- Test.AnotherWay._start_loading_page=function()
840
- {
841
- var test_page=Test.AnotherWay._g_tests_queue[0];
842
- test_page.loading_timeout_milliseconds=20000;
843
- test_page.timeout_id=setTimeout( Test.AnotherWay._loading_timeout, Test.AnotherWay._g_timeout_granularity );
844
- test_page.wait_msg=Test.AnotherWay._print_counter_result( test_page.url, "loading...", test_page.loading_timeout_milliseconds, "loading" );
845
- if( test_page.convention=="jsan" ) {
846
- // the tests in that page will run when it's loading, so the test object must be ready
847
- Test.AnotherWay._g_test_object_for_jsan=new Test.AnotherWay._test_object_t( test_page.url );
848
- }
849
- var outside_path_correction=null;
850
- if( Test.AnotherWay._g_outside_path_correction!=null && !test_page.suppress_outside_path_correction ) {
851
- outside_path_correction=Test.AnotherWay._g_outside_path_correction;
852
- }
853
- var result=Test.AnotherWay._set_iframe_location( Test.AnotherWay._g_test_iframe, test_page.url, outside_path_correction );
854
- if( result.msg!=null ) {
855
- Test.AnotherWay._unprint_result( test_page.wait_msg );
856
- Test.AnotherWay._print_result( test_page.url, result.msg, "badtest", null );
857
- Test.AnotherWay._load_next_page();
858
- }
859
- }
860
-
861
- Test.AnotherWay._loading_timeout=function()
862
- {
863
- var test_page=Test.AnotherWay._g_tests_queue[0];
864
- test_page.loading_timeout_milliseconds-=Test.AnotherWay._g_timeout_granularity;
865
- if( test_page.loading_timeout_milliseconds>0 ) {
866
- Test.AnotherWay._update_msg_counter( test_page.wait_msg, (test_page.loading_timeout_milliseconds/1000).toFixed() );
867
- test_page.timeout_id=setTimeout( Test.AnotherWay._loading_timeout, Test.AnotherWay._g_timeout_granularity );
868
- }else {
869
- Test.AnotherWay._unprint_result( test_page.wait_msg );
870
- Test.AnotherWay._print_result( test_page.url, "Unable to load test page. Timeout expired", "badtest", null );
871
- Test.AnotherWay._load_next_page();
872
- }
873
- }
874
-
875
- Test.AnotherWay._strip_query_and_hash=function( s )
876
- {
877
- var i=s.lastIndexOf( "#" );
878
- if( i!=-1 ) {
879
- s=s.substring( 0, i );
880
- }
881
- i=s.lastIndexOf( "?" );
882
- if( i!=-1 ) {
883
- s=s.substring( 0, i );
884
- }
885
- return s;
886
- }
887
- Test.AnotherWay._is_url_loaded=function( url, wnd )
888
- {
889
- var loaded=false;
890
- if( wnd!=null && wnd.location!=null ) {
891
- // after some popup blocker interference, location may behave strange..
892
- var location_s="";
893
- location_s+=wnd.location;
894
- if( location_s!="" ) {
895
- var pathname=wnd.location.pathname;
896
- var expected_url=url;
897
- var i=expected_url.lastIndexOf( "#" );
898
- if( i!=-1 ) {
899
- expected_url=expected_url.substring( 0, i );
900
- }
901
- i=expected_url.lastIndexOf( "?" );
902
- if( i!=-1 ) {
903
- expected_url=expected_url.substring( 0, i );
904
- }
905
- i=expected_url.lastIndexOf( "/" );
906
- if( i!=-1 && i!=expected_url.length-1 ) {
907
- expected_url=expected_url.substring( i+1 );
908
- }
909
- i=pathname.indexOf( expected_url )
910
- if( wnd.location.href==url || (i!=-1 && i==pathname.length-expected_url.length) ) {
911
- if( /*window.opera==null*/wnd.document.readyState==null || wnd.document.readyState=="complete" ) { // for opera (and IE?), getElementById does not work until..
912
- loaded=true;
913
- }
914
- }
915
- }
916
- }
917
- return loaded;
918
- }
919
- // find and run all test functions in the g_cur_page html page.
920
- Test.AnotherWay._test_page_onload=function()
921
- {
922
- if( Test.AnotherWay._g_tests_queue.length==0 ) {
923
- return;
924
- }
925
- var test_page=Test.AnotherWay._g_tests_queue[0];
926
- if( !Test.AnotherWay._is_url_loaded( test_page.url, Test.AnotherWay._g_test_iframe ) ) {
927
- return;
928
- }
929
- clearTimeout( test_page.timeout_id );
930
- Test.AnotherWay._unprint_result( test_page.wait_msg );
931
-
932
- if( test_page.convention=="anotherway" ) {
933
- // get test function names (those beginning with "test")
934
- if( typeof( Test.AnotherWay._g_test_iframe.document.scripts )!='undefined' ) { // IE
935
- for( var i=0; i<Test.AnotherWay._g_test_iframe.document.scripts.length; ++i ) {
936
- var script_text=Test.AnotherWay._g_test_iframe.document.scripts[i].text;
937
- var fun_sig="function test";
938
- var fun_start=script_text.indexOf( fun_sig );
939
-
940
- while( fun_start!=-1 ) {
941
- script_text=script_text.substring( fun_start, script_text.length );
942
- var fun_end=script_text.indexOf( '(' );
943
- var fun_name=script_text.substring( "function ".length, fun_end );
944
- var whitespace = fun_name.indexOf( ' ' );
945
- if (whitespace >= 0)
946
- fun_name = fun_name.substring( 0, whitespace );
947
- test_page.test_objects.push( new Test.AnotherWay._test_object_t( fun_name ) );
948
- script_text=script_text.substring( fun_end, script_text.length );
949
- fun_start=script_text.indexOf( fun_sig );
950
- }
951
- }
952
- }else { // otherwise (not IE) it ought to work like this
953
- for( var i in Test.AnotherWay._g_test_iframe) {
954
- // Hack to prevent failure in FF3.0b1
955
- if (i == "innerWidth" || i == "innerHeight") { continue; }
956
- if( typeof( Test.AnotherWay._g_test_iframe[i] )=='function' ) {
957
- if( i.substring( 0, 4 )=="test" ) {
958
- test_page.test_objects.push( new Test.AnotherWay._test_object_t( i ) );
959
- }
960
- }
961
- }
962
- }
963
- }else if( test_page.convention=="jsan" ) {
964
- // the test object is already filled with results
965
- test_page.test_objects.push( Test.AnotherWay._g_test_object_for_jsan );
966
- }
967
-
968
- if( test_page.test_objects.length==0 ) {
969
- Test.AnotherWay._print_result( test_page.url, "No test functions defined in the page", "badtest", null );
970
- Test.AnotherWay._load_next_page();
971
- return;
972
- }
973
-
974
- test_page.wait_msg=Test.AnotherWay._print_result( test_page.url, "running tests..<span class=\"counter\">"+test_page.test_objects.length+"</span>", "running", null );
975
-
976
- test_page.test_object_i=0;
977
- Test.AnotherWay._run_more_tests();
978
- }
979
-
980
- Test.AnotherWay._handle_exception=function( o, e, title )
981
- {
982
- var s=title+": "+typeof( e )+": ";
983
- if( e.message!=null ) {
984
- s+=e.message;
985
- }else if( e.description!=null ) {
986
- s+=e.description;
987
- }else {
988
- s+=e.toString();
989
- }
990
- // if( e.location!=null ) { // XXX figure out how to display exception location if it's present (like in mozilla)
991
- // s+=" location: "+e.location.toString();
992
- // }
993
- o.exception=s;
994
- s=[];
995
- if( e.stack ) {
996
- var lines=e.stack.split( "\n" );
997
- for( var i=0; i<lines.length; ++i ) {
998
- // format of the line: func_name(args)@file_name:line_no
999
- if( lines[i].match( /(\w*)\(([^\)]*)\)@(.*):([^:]*)$/ ) ) {
1000
- var func_name=RegExp.$1;
1001
- if( func_name.length==0 ) {
1002
- func_name="<anonymous>";
1003
- }
1004
- s.push( "in "+func_name+"( "+RegExp.$2+") at "+RegExp.$3+" line "+RegExp.$4+"\n" );
1005
- }
1006
- }
1007
- }
1008
- o.exception_stack=s;
1009
- }
1010
-
1011
- Test.AnotherWay._run_more_tests=function()
1012
- {
1013
- var test_page=Test.AnotherWay._g_tests_queue[0];
1014
- while( test_page.test_object_i<test_page.test_objects.length ) {
1015
- Test.AnotherWay._update_msg_counter( test_page.wait_msg, (1+test_page.test_object_i)+"/"+test_page.test_objects.length );
1016
- var o=test_page.test_objects[test_page.test_object_i];
1017
- if( test_page.convention=="anotherway" ) {
1018
- try {
1019
- Test.AnotherWay._g_test_iframe[o.name]( o );
1020
- }catch( e ) {
1021
- Test.AnotherWay._handle_exception( o, e, "" );
1022
- }
1023
- } // for "jsan" convention, test has run already
1024
- if( o.delay_actions.length>0 || o.wait_result_milliseconds>0 ) {
1025
- o.delay_total_milliseconds_left+=o.wait_result_milliseconds;
1026
- Test.AnotherWay._delay_actions_timeout();
1027
- return;
1028
- }
1029
- ++test_page.test_object_i;
1030
- }
1031
- Test.AnotherWay._unprint_result( test_page.wait_msg );
1032
- Test.AnotherWay._print_result( test_page.url, null, null, test_page.test_objects );
1033
- Test.AnotherWay._load_next_page();
1034
- }
1035
-
1036
- Test.AnotherWay._delay_actions_timeout=function()
1037
- {
1038
- var test_page=Test.AnotherWay._g_tests_queue[0];
1039
- var test_object=test_page.test_objects[test_page.test_object_i];
1040
- var finished=true;
1041
- if( test_object.delay_action_i==null ) {
1042
- // set up to start first action
1043
- test_object.delay_action_i=-1;
1044
- }else {
1045
- // perform current action
1046
- var milliseconds_passed=(new Date()).getTime()-test_object.delay_prev_timer_time;
1047
- test_object.delay_current_milliseconds_left-=milliseconds_passed;
1048
- test_object.delay_total_milliseconds_left-=milliseconds_passed;
1049
- finished=Test.AnotherWay._delay_continue_action( test_object, milliseconds_passed );
1050
- }
1051
- while( finished && test_object.delay_action_i<test_object.delay_actions.length ) {
1052
- ++test_object.delay_action_i; // start next action
1053
- finished=Test.AnotherWay._delay_start_action( test_object );
1054
- }
1055
- if( test_object.delay_action_i<=test_object.delay_actions.length ) { // any more actions left ?
1056
- test_object.delay_prev_timer_time=(new Date()).getTime();
1057
- var next_timeout=Test.AnotherWay._g_timeout_granularity;
1058
- if( test_object.delay_current_milliseconds_left<next_timeout ) {
1059
- next_timeout=test_object.delay_current_milliseconds_left;
1060
- }
1061
- if( test_object.second_wait_msg!=null ) {
1062
- Test.AnotherWay._update_msg_counter( test_object.second_wait_msg, (test_object.delay_total_milliseconds_left/1000).toFixed() );
1063
- }
1064
- setTimeout( Test.AnotherWay._delay_actions_timeout, next_timeout );
1065
- }else { // no more actions left. run the next test.
1066
- if( test_object.second_wait_msg!=null ) {
1067
- Test.AnotherWay._unprint_result( test_object.second_wait_msg );
1068
- test_object.second_wait_msg=null;
1069
- }
1070
- ++test_page.test_object_i;
1071
- Test.AnotherWay._run_more_tests();
1072
- }
1073
- }
1074
- Test.AnotherWay._delay_start_action=function( test_object )
1075
- {
1076
- var finished=false;
1077
- var wait_msg="";
1078
- if( test_object.delay_action_i==test_object.delay_actions.length ) {
1079
- if( test_object.wait_result_milliseconds>0 ) {
1080
- test_object.delay_current_milliseconds_left=test_object.wait_result_milliseconds; // wait for result
1081
- wait_msg="waiting for results..";
1082
- }else {
1083
- ++test_object.delay_action_i; // dont wait for result
1084
- }
1085
- }else {
1086
- var action=test_object.delay_actions[test_object.delay_action_i];
1087
- if( action.action_kind=="call" ) {
1088
- test_object.delay_current_milliseconds_left=action.call_delay_milliseconds;
1089
- wait_msg="performing delayed calls..";
1090
- }else if( action.action_kind=="window" ) {
1091
- if( Test.AnotherWay._g_opera_path_correction!=null && action.wnd_url.indexOf( ":" )==-1 ) {
1092
- action.wnd_url=Test.AnotherWay._g_opera_path_correction+action.wnd_url;
1093
- }
1094
- action.wnd_wnd=window.open( action.wnd_url, "_blank" );
1095
- if( action.wnd_wnd==null ) {
1096
- finished=true;
1097
- test_object.fail( "unable to open window for "+action.wnd_url );
1098
- }else {
1099
- test_object.delay_current_milliseconds_left=action.wnd_timeout_milliseconds;
1100
- wait_msg="opening window..";
1101
- }
1102
- }else if( action.action_kind=="replay" ) {
1103
- if( action.replay_events.length==0 ) {
1104
- finished=true;
1105
- }else {
1106
- action.replay_event_i=0;
1107
- test_object.delay_current_milliseconds_left=action.replay_events[0]["time"];
1108
- wait_msg="replaying events..";
1109
- }
1110
- }
1111
- }
1112
- if( test_object.second_wait_msg!=null ) {
1113
- Test.AnotherWay._unprint_result( test_object.second_wait_msg );
1114
- }
1115
- if( wait_msg!="" ) {
1116
- var test_page=Test.AnotherWay._g_tests_queue[0];
1117
- test_object.second_wait_msg=Test.AnotherWay._print_counter_result( test_page.url, wait_msg, test_object.delay_total_milliseconds_left, "waiting" );
1118
- }else {
1119
- test_object.second_wait_msg=null;
1120
- }
1121
- return finished;
1122
- }
1123
- Test.AnotherWay._delay_continue_action=function( test_object, milliseconds_passed )
1124
- {
1125
- var finished=test_object.delay_current_milliseconds_left<=0;
1126
- if( test_object.delay_action_i==test_object.delay_actions.length ) { // action is "waiting for results"
1127
- if( test_object.n_plan!=null && test_object.n_plan==test_object.n_ok+test_object.n_fail ) {
1128
- finished=true; // if all assertions results are recorded, don't wait any more
1129
- }
1130
- if( finished ) {
1131
- ++test_object.delay_action_i; // move on to the next test
1132
- }
1133
- }else {
1134
- var action=test_object.delay_actions[test_object.delay_action_i];
1135
- if( action.action_kind=="call" ) {
1136
- if( finished ) {
1137
- try {
1138
- action.call_fn();
1139
- }catch( e ) {
1140
- Test.AnotherWay._handle_exception( test_object, e, "in delay_call" );
1141
- }
1142
- }
1143
- }else if( action.action_kind=="window" ) {
1144
- test_object.delay_total_milliseconds_left+=milliseconds_passed; // for "window", the countdown is suspended since it's unknown how long it will take
1145
- if( Test.AnotherWay._is_url_loaded( action.wnd_url, action.wnd_wnd ) ) {
1146
- try {
1147
- action.wnd_fn( action.wnd_wnd );
1148
- }catch( e ) {
1149
- Test.AnotherWay._handle_exception( test_object, e, "in open_window function call" );
1150
- }
1151
- finished=true;
1152
- }else if( finished ) {
1153
- test_object.fail( "unable to open window for url '"+action.wnd_url+"'. timeout expired" );
1154
- }
1155
- }else if( action.action_kind=="replay" ) {
1156
- if( finished ) {
1157
- // try {
1158
- Test.AnotherWay._delay_replay_event( test_object, action.replay_wnd, action.replay_events[action.replay_event_i], action.replay_checkpoints );
1159
- // }catch( e ) { // disabled, until I know how to gel location info from an exception
1160
- // Test.AnotherWay._handle_exception( test_object, e, "while replaying event" );
1161
- // }
1162
- ++action.replay_event_i;
1163
- finished=action.replay_event_i==action.replay_events.length;
1164
- if( !finished ) {
1165
- test_object.delay_current_milliseconds_left=action.replay_events[action.replay_event_i]["time"];
1166
- }
1167
- }
1168
- }
1169
- }
1170
- return finished;
1171
- }
1172
- Test.AnotherWay._delay_replay_event=function( test_object, wnd, event, checkpoints )
1173
- {
1174
- if( event.type=="_checkpoint" ) {
1175
- var checkpoint_n=event.which;
1176
- var prev_n_fail=test_object.n_fail;
1177
- checkpoints[checkpoint_n]( test_object, wnd );
1178
- var flash_color= prev_n_fail==test_object.n_fail ? "#2f2" : "#f22" ;
1179
- Test.AnotherWay._record_flash_border( flash_color );
1180
- }else if( event.type=="click" || event.type=="mouseover" || event.type=="mouseout" || event.type=="mousemove" || event.type=="mousedown" || event.type=="mouseup" ) {
1181
- var target=Test.AnotherWay._record_node_path_to_node( event["target"], wnd.document );
1182
- if( target!=null ) {
1183
- Test.AnotherWay._record_control_update_highlight( target, "ball", event );
1184
- var e=wnd.document.createEvent( "MouseEvents" );
1185
- var related_target=Test.AnotherWay._record_node_path_to_node( event["relatedTarget"], wnd.document );
1186
- e.initMouseEvent(
1187
- event["type"],
1188
- event["cancelable"],
1189
- event["bubbles"],
1190
- wnd.document.defaultView,
1191
- event["detail"],
1192
- event["screenX"],
1193
- event["screenY"],
1194
- event["clientX"],
1195
- event["clientY"],
1196
- event["ctrlKey"],
1197
- event["altKey"],
1198
- event["shiftKey"],
1199
- event["metaKey"],
1200
- event["button"],
1201
- Test.AnotherWay._record_node_path_to_node( event["relatedTarget"], wnd.document )
1202
- );
1203
- // Firefox 1.0.6 somehow loses relatedTarget somewhere on the way. Pass through our own, for those who choose to care.
1204
- e.passThroughRelatedTarget=related_target;
1205
- target.dispatchEvent( e );
1206
- }
1207
- }else if( event.type=="keyup" || event.type=="keydown" || event.type=="keypress" ) {
1208
- var e=wnd.document.createEvent( "KeyboardEvents" ); // forget it. Apparently it's not supported neither by mozilla nor by opera.
1209
- e.initKeyboardEvent(
1210
- event["type"],
1211
- event["cancelable"],
1212
- event["bubbles"],
1213
- wnd.document.defaultView,
1214
- event["which"],
1215
- event["which"],
1216
- event["ctrlKey"],
1217
- event["altKey"],
1218
- event["shiftKey"],
1219
- event["metaKey"],
1220
- false
1221
- );
1222
- wnd.document.dispatchEvent( e );
1223
- }
1224
- }
1225
-
1226
- Test.AnotherWay._print_counter_result=function( url, msg, milliseconds, style )
1227
- {
1228
- return Test.AnotherWay._print_result( url, msg+"<span class=\"counter\">"+(milliseconds/1000).toFixed()+"</span>", style, null );
1229
- }
1230
-
1231
- Test.AnotherWay._g_result_count=0; // for assigning unique ids to result paragraphs
1232
-
1233
- // number of pages tested
1234
- Test.AnotherWay._g_ok_pages=0;
1235
- Test.AnotherWay._g_fail_pages=0;
1236
-
1237
- Test.AnotherWay._print_result=function( url, msg, style, test_objects )
1238
- {
1239
- var results=document.getElementById( "results" );
1240
- var r=results.appendChild( document.createElement( "p" ) );
1241
- r.id="result"+Test.AnotherWay._g_result_count;
1242
- ++Test.AnotherWay._g_result_count;
1243
- r.onclick=Test.AnotherWay._toggle_detail;
1244
- var text="<span class=\"bullet\">&nbsp;&nbsp;&nbsp;</span>&nbsp;";
1245
- if( url!="" ) {
1246
- text+=url+": ";
1247
- }
1248
- if( msg!=null ) {
1249
- text+=msg;
1250
- }
1251
- if( test_objects!=null ) {
1252
- // compose summary and detail texts
1253
- var total_ok=0;
1254
- var total_detail_ok=0;
1255
- var total_fail=0;
1256
- var total_detail_fail=0;
1257
- var no_plan=0;
1258
-
1259
- var detail=results.appendChild( document.createElement( "div" ) );
1260
-
1261
- if( r.id.match( /^result(\d+)$/ ) ) {
1262
- detail.id="result_detail"+RegExp.$1;
1263
- }
1264
-
1265
- for( var i=0; i<test_objects.length; ++i ) {
1266
- var o=test_objects[i];
1267
- var p;
1268
- var p_text;
1269
- p=document.createElement( "P" );
1270
- Test.AnotherWay._set_css_class( p, "result_detail" );
1271
- p_text=o.name;
1272
- if( o.n_fail>0 || o.exception || (o.n_plan!=null && o.n_plan!=o.n_ok+o.n_fail) || (o.n_plan==null && o.n_ok==0 && o.n_fail==0)) {
1273
- ++total_fail;
1274
- p_text+=" <span class=\"fail\">";
1275
- if( o.n_plan!=null && o.n_plan!=o.n_ok+o.n_fail) {
1276
- p_text+="planned "+o.n_plan+" assertions but got "+(o.n_ok+o.n_fail)+"; ";
1277
- }
1278
- if(o.n_plan==null && o.n_ok==0 && o.n_fail==0) {
1279
- p_text+="test did not output anything";
1280
- }else {
1281
- p_text+=" fail "+o.n_fail;
1282
- }
1283
- p_text+="</span>";
1284
- }else {
1285
- ++total_ok;
1286
- }
1287
- p_text+=" ok "+o.n_ok;
1288
- if( o.n_plan==null ) {
1289
- no_plan=1;
1290
- p_text+=" <span class=\"warning\">no plan</span>";
1291
- }
1292
- p.innerHTML=p_text;
1293
- detail.appendChild( p );
1294
- if( o.exception ) {
1295
- p=document.createElement( "P" );
1296
- Test.AnotherWay._set_css_class( p, "result_exception_detail" );
1297
- p.innerHTML="<span class=\"fail\">exception:</span> "+o.exception;
1298
- detail.appendChild( p );
1299
- p=document.createElement( "P" );
1300
- Test.AnotherWay._set_css_class( p, "result_exception_stack_detail" );
1301
- p.innerHTML=o.exception_stack.join( "<br/>" );
1302
- detail.appendChild( p );
1303
- }
1304
- for( var ii=0; ii<o.assertions.length; ++ii ) {
1305
- var oo=o.assertions[ii];
1306
- var status=oo.ok ? "ok" : "<span class=\"fail\">fail</span>";
1307
- p=document.createElement( "P" );
1308
- Test.AnotherWay._set_css_class( p, "result_micro_detail" );
1309
- p.innerHTML=status;
1310
- p.appendChild( document.createTextNode( " "+oo.name ) );
1311
- detail.appendChild( p );
1312
- }
1313
- total_detail_ok+=o.n_ok;
1314
- total_detail_fail+=o.n_fail;
1315
- }
1316
- if( total_fail || total_detail_fail ) {
1317
- text+=" fail "+total_fail;
1318
- }
1319
- text+=" ok "+total_ok+" (detailed:";
1320
- if( total_fail || total_detail_fail ) {
1321
- text+=" fail "+total_detail_fail;
1322
- }
1323
- text+=" ok "+total_detail_ok+")";
1324
- if( no_plan ) {
1325
- text+=" <span class=\"warning\">no plan</span>";
1326
- }
1327
- style= total_fail==0 ? "ok" : "fail";
1328
- detail.style.display= style=="fail" ? "block" : "none";
1329
- detail.style.cursor="text";
1330
- }
1331
- if( style!=null ) {
1332
- Test.AnotherWay._set_css_class( r, style );
1333
- if( style=="ok" ) {
1334
- ++Test.AnotherWay._g_ok_pages;
1335
- }else if( style=="fail" || style=="badtest" ) {
1336
- ++Test.AnotherWay._g_fail_pages;
1337
- }
1338
- var pages_total="";
1339
- if( Test.AnotherWay._g_fail_pages>0 ) {
1340
- pages_total+=" fail "+Test.AnotherWay._g_fail_pages;
1341
- }
1342
- pages_total+=" ok "+Test.AnotherWay._g_ok_pages;
1343
- Test.AnotherWay._update_results_total( pages_total );
1344
- }
1345
- r.innerHTML=text;
1346
- if( results.scrollHeight!=null && results.scrollTop!=null && results.offsetHeight!=null ) {
1347
- results.scrollTop=results.scrollHeight-results.offsetHeight;
1348
- }
1349
- // when test_objects is not null, the results are final - good time to clean up
1350
- if( test_objects!=null ) {
1351
- for( var i=0; i<test_objects.length; ++i ) {
1352
- var actions=test_objects[i].delay_actions;
1353
- for( var action_i=0; action_i<actions.length; ++action_i ) {
1354
- var action=actions[action_i];
1355
- if( action.action_kind=="window" && action.wnd_wnd!=null && !action.wnd_no_close ) {
1356
- action.wnd_wnd.close();
1357
- action.wnd_wnd=null;
1358
- }
1359
- }
1360
- }
1361
- }
1362
- return r;
1363
- }
1364
- Test.AnotherWay._unprint_result=function( child )
1365
- {
1366
- var results=document.getElementById( "results" );
1367
- results.removeChild( child );
1368
- }
1369
- Test.AnotherWay._toggle_detail=function()
1370
- {
1371
- if( this.id.match( /^result(\d+)$/ ) ) {
1372
- var detail=document.getElementById( "result_detail"+RegExp.$1 );
1373
- if( detail!=null ) {
1374
- if( detail.style.display=="none" ) {
1375
- detail.style.display="block";
1376
- }else if( detail.style.display=="block" ) {
1377
- detail.style.display="none";
1378
- }
1379
- }
1380
- }
1381
- }
1382
- Test.AnotherWay._update_msg_counter=function( msg, text )
1383
- {
1384
- for( var i=0; i<msg.childNodes.length; ++i ) {
1385
- var item=msg.childNodes[i];
1386
- if( item.nodeName=="SPAN" && Test.AnotherWay._get_css_class( item )=="counter" ) {
1387
- item.innerHTML=text;
1388
- }
1389
- }
1390
- }
1391
- Test.AnotherWay._update_results_total=function( msg )
1392
- {
1393
- var total=document.getElementById( "total" );
1394
- if( total ) {
1395
- total.innerHTML=msg;
1396
- }
1397
- }
1398
- Test.AnotherWay._results_clear_onclick=function()
1399
- {
1400
- var results=document.getElementById( "results" );
1401
- results.innerHTML="";
1402
- Test.AnotherWay._update_results_total( "" );
1403
- Test.AnotherWay._g_ok_pages=0;
1404
- Test.AnotherWay._g_fail_pages=0;
1405
- var debug=document.getElementById( "debug" );
1406
- debug.innerHTML="";
1407
- }
1408
-
1409
- Test.AnotherWay._get_css_class=function( o )
1410
- {
1411
- var c=o.getAttribute( "className" );
1412
- if( c==null || c=="" ) {
1413
- c=o.getAttribute( "class" );
1414
- }
1415
- return c;
1416
- }
1417
- Test.AnotherWay._set_css_class=function( o, css_class )
1418
- {
1419
- o.setAttribute( "className", css_class );
1420
- o.setAttribute( "class", css_class );
1421
- }
1422
-
1423
- Test.AnotherWay._tab_onclick=function()
1424
- {
1425
- var tab=this;
1426
- var tabs=[ document.getElementById( "debug_tab" ), document.getElementById( "results_tab" ) ];
1427
- var panes=[ document.getElementById( "debug" ), document.getElementById( "results" ) ];
1428
- for( var i=0; i<tabs.length; ++i ) {
1429
- if( tab==tabs[i] ) {
1430
- Test.AnotherWay._set_css_class( tabs[i], "active_tab" );
1431
- panes[i].style.display="block";
1432
- }else {
1433
- Test.AnotherWay._set_css_class( tabs[i], "inactive_tab" );
1434
- panes[i].style.display="none";
1435
- }
1436
- }
1437
- }
1438
- Test.AnotherWay._tab_mouseover=function()
1439
- {
1440
- if( Test.AnotherWay._get_css_class( this )=="inactive_tab" ) {
1441
- Test.AnotherWay._set_css_class( this, "inactive_mouseover_tab" );
1442
- }
1443
- }
1444
- Test.AnotherWay._tab_mouseout=function()
1445
- {
1446
- if( Test.AnotherWay._get_css_class( this )=="inactive_mouseover_tab" ) {
1447
- Test.AnotherWay._set_css_class( this, "inactive_tab" );
1448
- }
1449
- }
1450
-
1451
- // recording mouse input
1452
- Test.AnotherWay._record_check_onfocus=function()
1453
- {
1454
- var o=this;
1455
- var check_select=o.type!="text";
1456
- var div=document.getElementById( "record_div" );
1457
- var inputs=div.getElementsByTagName( "input" );
1458
- for( var i=0; i<inputs.length; ++i ) {
1459
- var input=inputs[i];
1460
- if( input.type=="radio" ) {
1461
- if( input.value=="select" ) {
1462
- input.checked=check_select;
1463
- }else if( input.value=="input" ) {
1464
- input.checked=!check_select;
1465
- }
1466
- }
1467
- }
1468
- }
1469
-
1470
- Test.AnotherWay._g_no_record_msg=null; // not null - recording is unavailable
1471
- Test.AnotherWay._g_record_timeout_cnt=0; // opening window for a page for recording
1472
- Test.AnotherWay._g_record_url=null;
1473
- Test.AnotherWay._g_record_wnd=null;
1474
- Test.AnotherWay._g_record_random_id=null; // added to element ids of record_control div so that they do not clash with ids already in the page for which input is recorded
1475
- Test.AnotherWay._g_record_keydown=null; // recording control - which key is down
1476
- Test.AnotherWay._g_record_ctrl_keydown=false;
1477
- Test.AnotherWay._g_record_shift_keydown=false;
1478
- Test.AnotherWay._g_record_control_visible=true; // recording control ui state
1479
- Test.AnotherWay._g_record_started;
1480
- Test.AnotherWay._g_record_paused;
1481
- Test.AnotherWay._g_record_include_mousemove=false;
1482
- Test.AnotherWay._g_record_start_time; // for time references
1483
- Test.AnotherWay._g_record_pause_start_time;
1484
- Test.AnotherWay._g_record_update_time_interval; // showing time in the control ui
1485
- Test.AnotherWay._g_record_waiting_for_results=false; // waiting for results window to open
1486
- Test.AnotherWay._g_record_events; // recorded events
1487
- Test.AnotherWay._g_record_under_cursor; // track element under cursor
1488
- Test.AnotherWay._g_record_checkpoint_count; // for checkpoint numbering
1489
- Test.AnotherWay._g_record_mouse_over_record_control; // for avoiding record control highlight on mouseover
1490
- Test.AnotherWay._g_record_highlighted_element={ element: null, x: null, y: null };
1491
-
1492
- Test.AnotherWay._record_control_get_element=function( id )
1493
- {
1494
- if( Test.AnotherWay._g_record_wnd!=null && Test.AnotherWay._g_record_wnd.document!=null ) {
1495
- return Test.AnotherWay._g_record_wnd.document.getElementById( id+Test.AnotherWay._g_record_random_id );
1496
- }else {
1497
- return null;
1498
- }
1499
- }
1500
- Test.AnotherWay._record_start_onclick=function() // "record" button on the run_tests.html: open a window for a page for which input is recorded
1501
- {
1502
- if( Test.AnotherWay._g_no_record_msg!=null ) {
1503
- alert( Test.AnotherWay._g_no_record_msg );
1504
- return;
1505
- }
1506
- if( Test.AnotherWay._g_record_timeout_cnt>0
1507
- || (Test.AnotherWay._g_record_wnd!=null && (Test.AnotherWay._g_record_wnd.closed!=null && !Test.AnotherWay._g_record_wnd.closed)) ) { // in opera, closed is null.
1508
- alert( "there is already window opened for recording input for a page "+Test.AnotherWay._g_record_url );
1509
- return;
1510
- }
1511
- var div=document.getElementById( "record_div" );
1512
- var inputs=div.getElementsByTagName( "input" );
1513
- var url=null;
1514
- for( var i=0; i<inputs.length; ++i ) {
1515
- var input=inputs[i];
1516
- if( input.type=="radio" ) {
1517
- if( input.value=="select" && input.checked ) {
1518
- var index=document.getElementById( "record_select" ).selectedIndex;
1519
- if( index>0 ) {
1520
- url=Test.AnotherWay._g_test_page_urls[index-1].url;
1521
- }
1522
- }else if( input.value=="input" && input.checked ) {
1523
- url=document.getElementById( "record_input" ).value;
1524
- }
1525
- }
1526
- }
1527
- if( url!=null ) {
1528
- Test.AnotherWay._g_record_url=url;
1529
- Test.AnotherWay._g_record_wnd=window.open( url, "_blank" );
1530
- if( Test.AnotherWay._g_record_wnd==null ) {
1531
- alert( "unable to open new window for a page: "+url );
1532
- }else {
1533
- Test.AnotherWay._g_record_timeout_cnt=50;
1534
- setTimeout( Test.AnotherWay._record_window_timeout, 100 );
1535
- }
1536
- }
1537
- }
1538
- Test.AnotherWay._record_window_timeout=function()
1539
- {
1540
- if( Test.AnotherWay._is_url_loaded( Test.AnotherWay._g_record_url, Test.AnotherWay._g_record_wnd ) ) {
1541
- Test.AnotherWay._record_window_setup( Test.AnotherWay._g_record_wnd );
1542
- }else {
1543
- if( --Test.AnotherWay._g_record_timeout_cnt>0 ) {
1544
- setTimeout( Test.AnotherWay._record_window_timeout, 100 );
1545
- }else {
1546
- alert( "timeout expired while opening new window for a page: "+Test.AnotherWay._g_record_url );
1547
- Test.AnotherWay._g_record_wnd=null;
1548
- Test.AnotherWay._g_record_url=null;
1549
- Test.AnotherWay._g_record_timeout_cnt=0;
1550
- }
1551
- }
1552
- }
1553
- Test.AnotherWay._record_control_randomize_id=function( e, r )
1554
- {
1555
- if( e.id!="" ) {
1556
- e.id=e.id+r;
1557
- }
1558
- for( var c=e.firstChild; c!=null; c=c.nextSibling ) {
1559
- Test.AnotherWay._record_control_randomize_id( c, r );
1560
- }
1561
- }
1562
- Test.AnotherWay._record_window_setup=function( wnd ) // insert recording control into the page for which input is recorded
1563
- {
1564
- Test.AnotherWay._g_record_timeout_cnt=0;
1565
- var this_div=document.getElementById( "record_control" );
1566
- var record_control=wnd.document.importNode( this_div, true );
1567
- Test.AnotherWay._g_record_random_id=(1000*Math.random()).toFixed();
1568
- Test.AnotherWay._record_control_randomize_id( record_control, Test.AnotherWay._g_record_random_id );
1569
- Test.AnotherWay._g_record_control_visible=true;
1570
- Test.AnotherWay._g_record_started=false;
1571
- Test.AnotherWay._g_record_paused=false;
1572
- Test.AnotherWay._g_record_checkpoint_count=0;
1573
- Test.AnotherWay._g_record_mouse_over_record_control=false;
1574
- var doc=wnd.document;
1575
- doc.body.appendChild( record_control );
1576
- // opera sans-serif font is different
1577
- if( window.opera ) {
1578
- cursor_over_indicator=Test.AnotherWay._record_control_get_element( "record_cursor_over" );
1579
- cursor_over_indicator.style.width="18em";
1580
- cursor_over_indicator.style.height="2em";
1581
- cursor_over_indicator.style.fontSize="7pt";
1582
- }
1583
- doc.addEventListener( "keydown", Test.AnotherWay._record_control_keydown, true );
1584
- doc.addEventListener( "keyup", Test.AnotherWay._record_control_keyup, true );
1585
- // doc.addEventListener( "keypress", Test.AnotherWay._record_event, true ); // replaying is not supported by any known browser
1586
-
1587
- doc.body.addEventListener( "mousemove", Test.AnotherWay._record_on_mousemove, true );
1588
- doc.body.addEventListener( "click", Test.AnotherWay._record_event, true );
1589
- doc.body.addEventListener( "mouseover", Test.AnotherWay._record_event, true );
1590
- doc.body.addEventListener( "mouseout", Test.AnotherWay._record_event, true );
1591
- doc.body.addEventListener( "mousedown", Test.AnotherWay._record_event, true );
1592
- doc.body.addEventListener( "mouseup", Test.AnotherWay._record_event, true );
1593
- }
1594
- Test.AnotherWay._record_control_key_disabled=function( k )
1595
- {
1596
- if( k=="c" ) {
1597
- return !Test.AnotherWay._g_record_started;
1598
- }else if( k=="p" ) {
1599
- return !Test.AnotherWay._g_record_started;
1600
- }else if( k=="s" ) {
1601
- return Test.AnotherWay._g_record_waiting_for_results;
1602
- }else {
1603
- return false;
1604
- }
1605
- }
1606
-
1607
- Test.AnotherWay._record_control_update_ui=function()
1608
- {
1609
- var keydown_color="#fff";
1610
- var disabled_color="#aaa";
1611
- var button_color="#adf";
1612
- var active_color="#fdf";
1613
-
1614
- var display={};
1615
- display[false]="none";
1616
- display[true]="inline";
1617
-
1618
- var s_button=Test.AnotherWay._record_control_get_element( "record_s" );
1619
- var record_on=Test.AnotherWay._record_control_get_element( "record_on" );
1620
- var record_off=Test.AnotherWay._record_control_get_element( "record_off" );
1621
-
1622
- s_button.style.backgroundColor= Test.AnotherWay._record_control_key_disabled( "s" ) ? disabled_color
1623
- : Test.AnotherWay._g_record_keydown=="s" ? keydown_color : Test.AnotherWay._g_record_started ? active_color : button_color;
1624
- record_on.style.display=display[!Test.AnotherWay._g_record_started];
1625
- record_off.style.display=display[Test.AnotherWay._g_record_started];
1626
-
1627
- var h_button=Test.AnotherWay._record_control_get_element( "record_h" );
1628
- h_button.style.backgroundColor= Test.AnotherWay._g_record_keydown=="h" ? keydown_color : button_color;
1629
-
1630
- var p_button=Test.AnotherWay._record_control_get_element( "record_p" );
1631
- var record_pause_on=Test.AnotherWay._record_control_get_element( "record_pause_on" );
1632
- var record_pause_off=Test.AnotherWay._record_control_get_element( "record_pause_off" );
1633
- p_button.style.backgroundColor= Test.AnotherWay._record_control_key_disabled( "p" ) ? disabled_color
1634
- : Test.AnotherWay._g_record_keydown=="p" ? keydown_color : Test.AnotherWay._g_record_paused ? active_color : button_color;
1635
- record_pause_on.style.display=display[!Test.AnotherWay._g_record_paused];
1636
- record_pause_off.style.display=display[Test.AnotherWay._g_record_paused];
1637
-
1638
- var m_button=Test.AnotherWay._record_control_get_element( "record_m" );
1639
- var record_include_mousemove=Test.AnotherWay._record_control_get_element( "record_include_mousemove" );
1640
- var record_omit_mousemove=Test.AnotherWay._record_control_get_element( "record_omit_mousemove" );
1641
- m_button.style.backgroundColor= Test.AnotherWay._g_record_keydown=="m" ? keydown_color : Test.AnotherWay._g_record_include_mousemove ? active_color : button_color;
1642
- record_include_mousemove.style.display=display[!Test.AnotherWay._g_record_include_mousemove];
1643
- record_omit_mousemove.style.display=display[Test.AnotherWay._g_record_include_mousemove];
1644
-
1645
- var c_button=Test.AnotherWay._record_control_get_element( "record_c" );
1646
- c_button.style.backgroundColor= Test.AnotherWay._record_control_key_disabled( "c" ) ? disabled_color
1647
- : Test.AnotherWay._g_record_keydown=="c" ? keydown_color : button_color;
1648
-
1649
- var record_indicator=Test.AnotherWay._record_control_get_element( "record_indicator" );
1650
- record_indicator.style.display=display[Test.AnotherWay._g_record_started];
1651
-
1652
- var pause_indicator=Test.AnotherWay._record_control_get_element( "record_pause_indicator" );
1653
- pause_indicator.style.display=display[Test.AnotherWay._g_record_paused];
1654
-
1655
- var record_control=Test.AnotherWay._record_control_get_element( "record_control" );
1656
- record_control.style.display= Test.AnotherWay._g_record_control_visible ? "block" : "none";
1657
-
1658
- var shift_button=Test.AnotherWay._record_control_get_element( "record_shift_key" );
1659
- shift_button.style.backgroundColor= Test.AnotherWay._g_record_shift_keydown ? keydown_color : button_color;
1660
-
1661
- var ctrl_button=Test.AnotherWay._record_control_get_element( "record_ctrl_key" );
1662
- ctrl_button.style.backgroundColor= Test.AnotherWay._g_record_ctrl_keydown ? keydown_color : button_color;
1663
- }
1664
- Test.AnotherWay._record_format_time=function( t )
1665
- {
1666
- t=new Date( t );
1667
- var m=t.getMinutes();
1668
- var s=t.getSeconds();
1669
- var str= m==0 ? "" : m+"m ";
1670
- str+=s+"s.";
1671
- return str;
1672
- }
1673
- Test.AnotherWay._record_control_update_time=function()
1674
- {
1675
- var time_display=Test.AnotherWay._record_control_get_element( "record_time" );
1676
- if( time_display!=null ) {
1677
- time_display.innerHTML=Test.AnotherWay._record_format_time( (new Date()).getTime()-Test.AnotherWay._g_record_start_time );
1678
- }
1679
- }
1680
- Test.AnotherWay._record_control_update_highlight=function( elem, style, event )
1681
- {
1682
- if( elem==null ) {
1683
- Test.AnotherWay._record_highlight_border( null );
1684
- }else {
1685
- var pos=Test.AnotherWay._get_page_coords( elem );
1686
- if( style=="ball" || elem!=Test.AnotherWay._g_record_highlighted_element.element || pos.x!=Test.AnotherWay._g_record_highlighted_element.x || pos.y!=Test.AnotherWay._g_record_highlighted_element.y ) {
1687
- Test.AnotherWay._g_record_highlighted_element={ element: elem, x: pos.x, y: pos.y };
1688
- Test.AnotherWay._record_highlight_border( elem, style, event );
1689
- }
1690
- }
1691
- }
1692
- Test.AnotherWay._record_decode_key=function( event )
1693
- {
1694
- var k=null;
1695
- if( event==null ) {
1696
- k=Test.AnotherWay._g_record_wnd.event.keyCode;
1697
- }else {
1698
- k=event.which;
1699
- }
1700
- if( k==83 ) {
1701
- return "s";
1702
- }else if( k==72 ) {
1703
- return "h";
1704
- }else if( k==73 ) {
1705
- return "i";
1706
- }else if( k==80 ) {
1707
- return "p";
1708
- }else if( k==67 ) {
1709
- return "c";
1710
- }else if( k==77 ) {
1711
- return "m";
1712
- }else if( k==16 ) {
1713
- return "shift";
1714
- }else if( k==17 ) {
1715
- return "ctrl";
1716
- }else if( k==18 ) {
1717
- return "alt";
1718
- }else if( k==19 ) {
1719
- return "pause";
1720
- }else if( k==123 ) {
1721
- return "f12";
1722
- }
1723
- return "";
1724
- }
1725
- Test.AnotherWay._record_control_keydown=function( event )
1726
- {
1727
- var handled=false;
1728
- var k=Test.AnotherWay._record_decode_key( event );
1729
- if( k=="shift" ) {
1730
- Test.AnotherWay._g_record_shift_keydown=true;
1731
- }else if( k=="ctrl" ) {
1732
- Test.AnotherWay._g_record_ctrl_keydown=true;
1733
- }else if( k!="" && (Test.AnotherWay._g_record_keydown==null || Test.AnotherWay._g_record_keydown==k) ) {
1734
- if( Test.AnotherWay._g_record_ctrl_keydown && Test.AnotherWay._g_record_shift_keydown && !Test.AnotherWay._record_control_key_disabled( k ) ) {
1735
- Test.AnotherWay._g_record_keydown=k;
1736
- handled=true;
1737
- }
1738
- }else {
1739
- Test.AnotherWay._g_record_keydown="";
1740
- }
1741
- Test.AnotherWay._record_control_update_ui();
1742
- if( !handled ) {
1743
- // Test.AnotherWay._record_event( event ); // replaying is not supported in any known browser
1744
- }
1745
- return;
1746
- }
1747
- Test.AnotherWay._record_control_keyup=function( event )
1748
- {
1749
- var handled=false;
1750
- var k=Test.AnotherWay._record_decode_key( event );
1751
- if( k=="shift" ) {
1752
- Test.AnotherWay._g_record_shift_keydown=false;
1753
- }else if( k=="ctrl" ) {
1754
- Test.AnotherWay._g_record_ctrl_keydown=false;
1755
- }else if( k!="" && k==Test.AnotherWay._g_record_keydown && Test.AnotherWay._g_record_ctrl_keydown && Test.AnotherWay._g_record_shift_keydown ) {
1756
- if( k=="s" ) {
1757
- Test.AnotherWay._g_record_started=!Test.AnotherWay._g_record_started;
1758
- if( Test.AnotherWay._g_record_started ) {
1759
- Test.AnotherWay._g_record_events=[];
1760
- Test.AnotherWay._g_record_start_time=(new Date()).getTime();
1761
- Test.AnotherWay._record_control_update_time();
1762
- Test.AnotherWay._g_record_update_time_interval=window.setInterval( Test.AnotherWay._record_control_update_time, 200 );
1763
- }else {
1764
- Test.AnotherWay._record_control_update_highlight( null );
1765
- if( !Test.AnotherWay._g_record_paused ) {
1766
- window.clearInterval( Test.AnotherWay._g_record_update_time_interval );
1767
- }
1768
- Test.AnotherWay._g_record_waiting_for_results=true;
1769
- // open a new window for self, pass a parameter to dump recorded events as javascript code there
1770
- // (the easiest way to obtain a document from the same origin, so it's writable, is to open this same page again)
1771
- Test.AnotherWay._g_record_paused=false;
1772
- var loc=window.location;
1773
- loc=loc.protocol+"//"+loc.host+loc.pathname+"?recording_results="+Test.AnotherWay._g_record_random_id;
1774
- if( window.open( loc, "_blank" )==null ) {
1775
- alert( "unable to open new window for results" );
1776
- }
1777
- }
1778
- handled=true;
1779
- }else if( k=="h" ) {
1780
- Test.AnotherWay._g_record_control_visible=!Test.AnotherWay._g_record_control_visible;
1781
- handled=true;
1782
- }else if( k=="p" ) {
1783
- Test.AnotherWay._g_record_paused=!Test.AnotherWay._g_record_paused;
1784
- if( Test.AnotherWay._g_record_paused ) {
1785
- Test.AnotherWay._g_record_pause_start_time=(new Date()).getTime();
1786
- if( Test.AnotherWay._g_record_started ) {
1787
- window.clearInterval( Test.AnotherWay._g_record_update_time_interval );
1788
- }
1789
- Test.AnotherWay._record_control_update_highlight( null );
1790
- }else {
1791
- var pause_duration=(new Date()).getTime()-Test.AnotherWay._g_record_pause_start_time;
1792
- Test.AnotherWay._g_record_start_time+=pause_duration;
1793
- Test.AnotherWay._g_record_update_time_interval=window.setInterval( Test.AnotherWay._record_control_update_time, 200 );
1794
- }
1795
- handled=true;
1796
- }else if( k=="m" ) {
1797
- Test.AnotherWay._g_record_include_mousemove=!Test.AnotherWay._g_record_include_mousemove;
1798
- handled=true;
1799
- }else if( k=="c" ) {
1800
- var o=Test.AnotherWay._record_checkpoint();
1801
- Test.AnotherWay._record_display_checkpoint( o );
1802
- Test.AnotherWay._record_flash_border( "#24d" );
1803
- handled=true;
1804
- }
1805
- }
1806
- Test.AnotherWay._g_record_keydown=null;
1807
- Test.AnotherWay._record_control_update_ui();
1808
- if( !handled ) {
1809
- // Test.AnotherWay._record_event( event ); // replaying is not supported in any known browser
1810
- }
1811
- return;
1812
- }
1813
- Test.AnotherWay._record_html_node_path=function( node )
1814
- {
1815
- if( node==null ) {
1816
- return null;
1817
- }
1818
- var path=[];
1819
- while( true ) {
1820
- if( node.id!=null && node.id!="" ) {
1821
- path.unshift( "#"+node.id+" "+node.nodeName );
1822
- break;
1823
- }else {
1824
- var parent_node=node.parentNode;
1825
- if( parent_node==null ) {
1826
- return []; // no BODY up the path - this node is screwed (browsers differ in what's above the body), discard
1827
- }else {
1828
- var i=0;
1829
- var found=false;
1830
- for( var child=parent_node.firstChild; child!=null; child=child.nextSibling ) {
1831
- if( child==node ) {
1832
- found=true;
1833
- break;
1834
- }
1835
- if( child.nodeType==1 ) { // count only HTML element nodes
1836
- ++i;
1837
- }
1838
- }
1839
- if( !found ) {
1840
- i=-1;
1841
- }
1842
- path.unshift( i+" "+node.nodeName );
1843
- if( parent_node.nodeName=="BODY" || parent_node.nodeName=="body" ) {
1844
- break;
1845
- }
1846
- node=parent_node;
1847
- }
1848
- }
1849
- }
1850
- return path;
1851
- }
1852
- Test.AnotherWay._record_node_path_to_string=function( path )
1853
- {
1854
- var s="";
1855
- if( path!=null ) {
1856
- for( var i=0; i<path.length; ++i ) {
1857
- s+= i==0 ? "" : ", ";
1858
- var elem=path[i].split( " " );
1859
- if( elem[0].charAt( 0 )=="#" ) {
1860
- s+=elem[1]+" "+elem[0];
1861
- }else {
1862
- s+=elem[1]+" ["+elem[0]+"]";
1863
- }
1864
- }
1865
- }
1866
- return s;
1867
- }
1868
- Test.AnotherWay._record_node_path_to_node=function( path_str, doc )
1869
- {
1870
- if( path_str==null ) {
1871
- return null;
1872
- }
1873
- var path=path_str.split( "," );
1874
- var node=doc.body;
1875
- for( var i=0; i<path.length; ++i ) {
1876
- var node_i=path[i].split( " " )[0];
1877
- if( node_i.charAt( 0 )=="#" ) {
1878
- node=doc.getElementById( node_i.substring( 1 ) );
1879
- }else {
1880
- if( node_i<0 || node_i>=node.childNodes.length ) {
1881
- node=null;
1882
- }else {
1883
- node=node.firstChild;
1884
- while( node!=null ) {
1885
- if( node.nodeType==1 ) { // count only HTML element nodes
1886
- if( node_i==0 ) {
1887
- break;
1888
- }
1889
- --node_i;
1890
- }
1891
- node=node.nextSibling;
1892
- }
1893
- }
1894
- }
1895
- if( node==null ) {
1896
- return null;
1897
- }
1898
- }
1899
- return node;
1900
- }
1901
- Test.AnotherWay._record_control_contains_id=function( s )
1902
- {
1903
- return s.match( /^#record_[\w_]+/ ) && s.match( Test.AnotherWay._g_record_random_id );
1904
- }
1905
- Test.AnotherWay._record_checkpoint=function()
1906
- {
1907
- var o={ type: "_checkpoint", time: (new Date()).getTime()-Test.AnotherWay._g_record_start_time, which: Test.AnotherWay._g_record_checkpoint_count++,
1908
- target: Test.AnotherWay._record_html_node_path( Test.AnotherWay._g_record_under_cursor ) };
1909
- Test.AnotherWay._g_record_events.push( o );
1910
- return o;
1911
- }
1912
- Test.AnotherWay._record_event=function( event )
1913
- {
1914
- var unneeded=["rangeOffset","eventPhase","timeStamp","isTrusted","popupWindowFeatures","rangeOffset"];
1915
- if( Test.AnotherWay._g_record_started && !Test.AnotherWay._g_record_paused ) {
1916
- var o={};
1917
- for( var n in event ) {
1918
- var needed=!n.match( /^[A-Z0-9_]+$/ );
1919
- if( needed ) {
1920
- for( var ui=0; ui<unneeded.length; ++ui ) {
1921
- if( unneeded[ui]==n ) {
1922
- needed=false;
1923
- break;
1924
- }
1925
- }
1926
- if( needed ) {
1927
- var value=event[n];
1928
- if( typeof( value )!="object" && typeof( value )!="function" ) {
1929
- o[n]=value;
1930
- }else if( n=="target" || n=="relatedTarget" ) {
1931
- o[n]=Test.AnotherWay._record_html_node_path( value );
1932
- }
1933
- }
1934
- }
1935
- }
1936
- o["time"]=(new Date()).getTime()-Test.AnotherWay._g_record_start_time;
1937
- var over_record_control= o["target"]!=null && o["target"][0]!=null && Test.AnotherWay._record_control_contains_id( o["target"][0] );
1938
- if( !over_record_control ) {
1939
- Test.AnotherWay._g_record_events.push( o );
1940
- }
1941
- }
1942
- return true;
1943
- }
1944
- Test.AnotherWay._record_on_mousemove=function( event )
1945
- {
1946
- var path=Test.AnotherWay._record_html_node_path( event.target );
1947
- var new_mouse_over_record_control= path!=null && path[0]!=null && Test.AnotherWay._record_control_contains_id( path[0] );
1948
- if( new_mouse_over_record_control!=Test.AnotherWay._g_record_mouse_over_record_control ) {
1949
- Test.AnotherWay._g_record_mouse_over_record_control=new_mouse_over_record_control;
1950
- Test.AnotherWay._record_control_update_ui();
1951
- }
1952
- if( event.target!=null && event.target!=Test.AnotherWay._g_record_under_cursor ) {
1953
- Test.AnotherWay._g_record_under_cursor=event.target;
1954
- var s="";
1955
- if( path==null || path[0]==null || !Test.AnotherWay._record_control_contains_id( path[0] ) ) {
1956
- s=Test.AnotherWay._record_node_path_to_string( path );
1957
- }
1958
- if( s=="" ) {
1959
- s="&nbsp;";
1960
- }
1961
- var cursor_over_indicator=Test.AnotherWay._record_control_get_element( "record_cursor_over" );
1962
- cursor_over_indicator.innerHTML=s;
1963
- }
1964
-
1965
- var highlight_element=null;
1966
- if( !Test.AnotherWay._g_record_mouse_over_record_control && Test.AnotherWay._g_record_started && !Test.AnotherWay._g_record_paused ) {
1967
- highlight_element=event.target;
1968
- }
1969
- // highlight border disabled on recording - it causes page to scroll, issuing spurious mouseover/mouseout event
1970
- //Test.AnotherWay._record_control_update_highlight( highlight_element, "border" );
1971
-
1972
- if( Test.AnotherWay._g_record_include_mousemove ) {
1973
- Test.AnotherWay._record_event( event );
1974
- }
1975
- return true;
1976
- }
1977
- Test.AnotherWay._record_display_checkpoint=function( o )
1978
- {
1979
- var checkpoints_div=Test.AnotherWay._record_control_get_element( "record_checkpoints" );
1980
- var p=checkpoints_div.appendChild( checkpoints_div.ownerDocument.createElement( "div" ) );
1981
- p.style.marginTop="3px";
1982
- p.style.font="normal normal 8pt sans-serif";
1983
- p.style.color="#000";
1984
- p.style.textAligh="left";
1985
- p.style.position="relative";
1986
- p.style.width="100%";
1987
- var checkpoint_text="";
1988
- checkpoint_text+="#"+(o.which+1);
1989
- checkpoint_text+=" "+Test.AnotherWay._record_format_time( o.time );
1990
- if( o.target!=null ) {
1991
- checkpoint_text+=Test.AnotherWay._record_node_path_to_string( o.target );
1992
- }
1993
- p.appendChild( p.ownerDocument.createTextNode( checkpoint_text ) );
1994
- }
1995
- Test.AnotherWay._record_save_results=function( doc )
1996
- {
1997
- // strange, but DOM-style append does not work here in opera 8.
1998
- var append=function( s ) { doc.write( "<div>"+s+"</div>" ); };
1999
- append( "/* paste this data into your javascript and pass it as an argument to replay_events method */" );
2000
- append( "{ checkpoints: [" );
2001
- var first_checkpoint=true;
2002
- for( var i=0; i<Test.AnotherWay._g_record_events.length; ++i ) {
2003
- var o=Test.AnotherWay._g_record_events[i];
2004
- if( o.type=="_checkpoint" ) {
2005
- var str= first_checkpoint ? "" : "}, ";
2006
- str+="function( tst, wnd ) { // #"+o.which+" time "+Test.AnotherWay._record_format_time( o.time )+" cursor was over "+Test.AnotherWay._record_node_path_to_string( o.target );
2007
- append( str );
2008
- first_checkpoint=false;
2009
- }
2010
- }
2011
- if( !first_checkpoint ) {
2012
- append( "}" );
2013
- }
2014
- append( "], events: [ " );
2015
- var prev_time=0;
2016
- for( var i=0; i<Test.AnotherWay._g_record_events.length; ++i ) {
2017
- var o=Test.AnotherWay._g_record_events[i];
2018
- var s="";
2019
- s+= "{";
2020
- var n_first=true;
2021
- for( var n in o ) {
2022
- if( n=="time" ) { // convert to relative time
2023
- var cur_time=o[n]-0;
2024
- o[n]=cur_time-prev_time;
2025
- prev_time=cur_time;
2026
- }
2027
- s+=n_first ? n : ", "+n;
2028
- s+=":";
2029
- if( o[n]==null ) {
2030
- s+="null";
2031
- }else {
2032
- s+="\""+o[n]+"\"";
2033
- }
2034
- n_first=false;
2035
- }
2036
- s+= i==Test.AnotherWay._g_record_events.length-1 ? "}" : "},";
2037
- append( s );
2038
- }
2039
- append( "] }" );
2040
- append( ";" );
2041
- }
2042
-
2043
- Test.AnotherWay._g_record_border; // border highlighting element under cursor
2044
- Test.AnotherWay._g_record_border_flashes=[]; // array of { color: color, timeout: milliseconds }
2045
- Test.AnotherWay._g_record_border_flashing=false;
2046
- Test.AnotherWay._g_record_border_normal_color="#d4b";
2047
- Test.AnotherWay._record_flash_border_timeout=function()
2048
- {
2049
- var color=Test.AnotherWay._g_record_border_normal_color;
2050
- var timeout=null;
2051
- if( Test.AnotherWay._g_record_border_flashes.length!=0 ) {
2052
- color=Test.AnotherWay._g_record_border_flashes[0].color;
2053
- timeout=Test.AnotherWay._g_record_border_flashes[0].timeout;
2054
- Test.AnotherWay._g_record_border_flashes.splice( 0, 1 );
2055
- }
2056
- if( Test.AnotherWay._g_record_border!=null ) {
2057
- for( var i=0; i<Test.AnotherWay._g_record_border.length; ++i ) {
2058
- Test.AnotherWay._g_record_border[i].style.backgroundColor=color;
2059
- }
2060
- }
2061
- if( timeout!=null ) {
2062
- setTimeout( Test.AnotherWay._record_flash_border_timeout, timeout );
2063
- }else {
2064
- Test.AnotherWay._g_record_border_flashing=false;
2065
- }
2066
- }
2067
- Test.AnotherWay._get_page_coords=function( elm )
2068
- {
2069
- var point = { x: 0, y: 0 };
2070
- while( elm ) {
2071
- point.x+=elm.offsetLeft;
2072
- point.y+=elm.offsetTop;
2073
- elm=elm.offsetParent;
2074
- }
2075
- return point;
2076
- }
2077
- Test.AnotherWay._set_page_coords=function( elm, x, y )
2078
- {
2079
- var parent_coords={ x: 0, y: 0 };
2080
- if( elm.offsetParent ) {
2081
- parent_coords=Test.AnotherWay._get_page_coords( elm.offsetParent );
2082
- }
2083
- var new_x=x-parent_coords.x;
2084
- if( new_x<0 ) {
2085
- new_x=0;
2086
- }
2087
- elm.style.left=new_x+'px';
2088
- var new_y=y-parent_coords.y;
2089
- if( new_y<0 ) {
2090
- new_y=0;
2091
- }
2092
- elm.style.top=new_y+'px';
2093
- }
2094
- Test.AnotherWay._record_setup_highlight_positions=function( element, style, coords, positions )
2095
- {
2096
- if( style=="border" ) {
2097
- var width=element.clientWidth;
2098
- var height=element.clientHeight;
2099
- var step=0;
2100
- var thickness=2;
2101
- var fudge_expand=4;
2102
- positions.push( { x: coords.x-step-thickness, y: coords.y-step-thickness, width: width+2*step+2*thickness+fudge_expand, height: thickness } );
2103
- positions.push( { x: coords.x+width+step+fudge_expand, y: coords.y-step-thickness, width: thickness, height: height+2*step+2*thickness+fudge_expand } );
2104
- positions.push( { x:positions[0].x, y:positions[0].y, width:positions[0].width, height:positions[0].height } );
2105
- positions.push( { x:positions[1].x, y:positions[1].y, width:positions[1].width, height:positions[1].height } );
2106
- positions[2].y+=height+thickness+2*step+fudge_expand;
2107
- positions[3].x-=width+thickness+2*step+fudge_expand;
2108
- }else if( style=="ball" ) {
2109
- positions.push( { x: coords.x+2, y: coords.y, width: 2, height: 6 } );
2110
- positions.push( { x: coords.x, y: coords.y+2, width: 6, height: 2 } );
2111
- positions.push( { x: coords.x+1, y: coords.y+1, width: 4, height: 4 } );
2112
- }
2113
- }
2114
- Test.AnotherWay._record_highlight_border=function( element, style, event ) // null - hide border
2115
- {
2116
- if( element!=null ) {
2117
- if( Test.AnotherWay._g_record_border==null || Test.AnotherWay._g_record_border[0].ownerDocument!=element.ownerDocument ) {
2118
- Test.AnotherWay._g_record_border=[];
2119
- var n= style=="border" ? 4 : style=="ball" ? 3 : 0;
2120
- for( var i=0; i<4; ++i ) {
2121
- var b=element.ownerDocument.createElement( "div" );
2122
- b.style.position="absolute";
2123
- b.style.zIndex="1";
2124
- b.style.backgroundColor=Test.AnotherWay._g_record_border_normal_color;
2125
- element.ownerDocument.body.appendChild( b );
2126
- Test.AnotherWay._g_record_border.push( b );
2127
- }
2128
- }
2129
- var coords=null;
2130
- if( style=="border" ) {
2131
- coords=Test.AnotherWay._get_page_coords( element );
2132
- }else if( style=="ball" ) {
2133
- if( event!=null ) {
2134
- if( event.pageX!=null && event.pageY!=null ) {
2135
- coords={ x: event.pageX-0, y: event.pageY-0 };
2136
- }else if( event.clientX!=null && event.clientY!=null ) {
2137
- var doc=element.ownerDocument;
2138
- if( doc!=null ) {
2139
- coords={ x: (event.clientX-0)+doc.body.scrollLeft, y: (event.clientY-0)+doc.body.scrollTop };
2140
- }
2141
- }
2142
- }
2143
- }
2144
- if( coords!=null && element.clientWidth!=null && element.clientHeight!=null ) {
2145
- var positions=[];
2146
- Test.AnotherWay._record_setup_highlight_positions( element, style, coords, positions );
2147
- for( var i=0; i<positions.length; ++i ) {
2148
- var b=Test.AnotherWay._g_record_border[i];
2149
- var p=positions[i];
2150
- Test.AnotherWay._set_page_coords( b, p.x, p.y );
2151
- b.style.width=p.width+"px";
2152
- b.style.height=p.height+"px";
2153
- b.style.display="block";
2154
- }
2155
- }
2156
- }else {
2157
- if( Test.AnotherWay._g_record_border!=null ) {
2158
- for( var i=0; i<Test.AnotherWay._g_record_border.length; ++i ) {
2159
- Test.AnotherWay._g_record_border[i].style.display="none";
2160
- }
2161
- }
2162
- }
2163
- }
2164
- Test.AnotherWay._record_flash_border=function( color )
2165
- {
2166
- if( Test.AnotherWay._g_record_border_flashing ) { //already
2167
- Test.AnotherWay._g_record_border_flashes.push( { color: Test.AnotherWay._g_record_border_normal_color, timeout:300 } );
2168
- Test.AnotherWay._g_record_border_flashes.push( { color: color, timeout:600 } );
2169
- }else {
2170
- Test.AnotherWay._g_record_border_flashing=true;
2171
- Test.AnotherWay._g_record_border_flashes.push( { color: color, timeout:600 } );
2172
- Test.AnotherWay._record_flash_border_timeout();
2173
- }
2174
- }
2175
- Test.AnotherWay._record_prepare_doc_for_results=function()
2176
- {
2177
- document.open();
2178
- document.write( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" );
2179
- document.write( "<html><head><title> Input recording results</title>" );
2180
- document.write( "<style type=\"text/css\">" );
2181
- document.write( "body { font: normal normal smaller sans-serif; }" );
2182
- document.write( "div { margin-top: 3px; }" );
2183
- document.write( "</style></head><body>" );
2184
- // opera and mozilla disagree over who the opener is.
2185
- if( typeof( window.opener.Test )!="undefined" && typeof( window.opener.Test.AnotherWay )!="undefined" ) {
2186
- window.opener.Test.AnotherWay._record_save_results( document );
2187
- window.opener.Test.AnotherWay._g_record_waiting_for_results=false;
2188
- window.opener.Test.AnotherWay._record_control_update_ui();
2189
- }else if( typeof( window.opener.opener.Test )!="undefined" && typeof( window.opener.opener.Test.AnotherWay )!="undefined" ) {
2190
- window.opener.opener.Test.AnotherWay._record_save_results( document );
2191
- window.opener.opener.Test.AnotherWay._g_record_waiting_for_results=false;
2192
- window.opener.opener.Test.AnotherWay._record_control_update_ui();
2193
- }
2194
- document.write( "</body>" );
2195
- document.close();
2196
- }
2197
-
2198
- // global initialization
2199
- onload=function()
2200
- {
2201
- if( window.opera ) {
2202
- var good_opera=typeof( window.opera.version )=="function";
2203
- good_opera=good_opera && window.opera.version().match( /^\s*(\d+)/ );
2204
- good_opera=good_opera && RegExp.$1>=8;
2205
- }
2206
- var span=document.createElement( "SPAN" );
2207
- span.innerHTML="<!--[if IE]><br /><![endif]-"+"->";
2208
- var is_ie=span.getElementsByTagName( "BR" ).length>0;
2209
-
2210
- Test.AnotherWay._g_test_iframe=window.frames.test_iframe;
2211
-
2212
- var query_str=window.location.search;
2213
- if( query_str.charAt( 0 )=="?" ) {
2214
- query_str=query_str.substring( 1 );
2215
- }
2216
- var testlist_page="list-tests.html";
2217
- var auto_run=false;
2218
- if( query_str!="" ) {
2219
- var params=[query_str];
2220
- if( query_str.indexOf( ";" )!=-1 ) {
2221
- params=query_str.split( ";" );
2222
- }else if( query_str.indexOf( "&" )!=-1 ) {
2223
- params=query_str.split( "&" );
2224
- }
2225
- for( var param_i=0; param_i<params.length; ++param_i ) {
2226
- var param=params[param_i].split( "=" );
2227
- if( param[0]=="recording_results" ) {
2228
- if( window.opener!=null ) {
2229
- // we were told to show recording results - replace everything in the document with the results
2230
- Test.AnotherWay._record_prepare_doc_for_results();
2231
- return;
2232
- }
2233
- }else if( param[0]=="testpage" ) {
2234
- Test.AnotherWay._add_test_page_url( decodeURIComponent( param[1] ), "anotherway" );
2235
- }else if( param[0]=="jsantestpage" ) {
2236
- Test.AnotherWay._add_test_page_url( decodeURIComponent( param[1] ), "jsan" );
2237
- }else if( param[0]=="testlist" ) {
2238
- testlist_page=decodeURIComponent( param[1] );
2239
- }else if( param[0]=="testframe" ) {
2240
- if( window.opera && !good_opera ) {
2241
- Test.AnotherWay._show_error( "testframe parameter does not work in versions of Opera prior to 8.0. Sorry (pathches are welcome)." );
2242
- // Opera 7 barfs on attempt to access frame.frameElement.
2243
- // if someone knows a way to assign onload handler to that iframe in Opera 7
2244
- // without disrupting code that works in other browsers, patches are welcome.
2245
- }else {
2246
- var frame_path=param[1].split( "." );
2247
- var frame=top;
2248
- for( var frame_path_i=0; frame_path_i<frame_path.length; ++frame_path_i ) {
2249
- frame=frame[frame_path[frame_path_i]];
2250
- }
2251
- if( frame==null ) {
2252
- Test.AnotherWay._show_error( "unable to find frame specified for loading test pages: "+param[1] );
2253
- }else {
2254
- if( frame.frameElement!=null ) { // for the following assignement to onload to work, frameElement is required
2255
- frame=frame.frameElement;
2256
- }
2257
- Test.AnotherWay._g_test_iframe=frame;
2258
- }
2259
- }
2260
- }else if( param[0]=="testframe_no_clear" ) {
2261
- Test.AnotherWay._g_test_frame_no_clear=true;
2262
- }else if( param[0]=="windows" ) {
2263
- if (param[1] == "none") {
2264
- }
2265
- }else if( param[0]=="run" ) {
2266
- auto_run=true;
2267
- if( param[1]=="all" ) {
2268
- Test.AnotherWay._g_pages_to_run="all";
2269
- }else {
2270
- if( Test.AnotherWay._g_pages_to_run==null || Test.AnotherWay._g_pages_to_run=="all" ) {
2271
- Test.AnotherWay._g_pages_to_run=[];
2272
- }
2273
- var pages=param[1].split( "," );
2274
- for( var i=0; i<pages.length; ++i ) {
2275
- Test.AnotherWay._g_pages_to_run.push( pages[i] );
2276
- }
2277
- }
2278
- }
2279
- }
2280
- }
2281
- if( Test.AnotherWay._g_test_page_urls.length==0 ) { // if no individual pages were given on the command line, load the list
2282
- var result=Test.AnotherWay._set_iframe_location( window.frames["list_iframe"], testlist_page );
2283
- if( result.msg!=null ) {
2284
- Test.AnotherWay._show_error( result.msg );
2285
- }
2286
- Test.AnotherWay._g_run_on_list_load=auto_run;
2287
- }else {
2288
- Test.AnotherWay._g_run_on_main_load=auto_run;
2289
- }
2290
-
2291
- var f=Test.AnotherWay._g_test_iframe;
2292
- try {
2293
- if( f.attachEvent!=null ) {
2294
- f.attachEvent( "onload", Test.AnotherWay._test_page_onload );
2295
- }else {
2296
- f.onload=Test.AnotherWay._test_page_onload;
2297
- }
2298
- if( Test.AnotherWay._g_test_iframe.nodeType!=null && Test.AnotherWay._g_test_iframe.contentWindow!=null ) { // it's iframe element, not the iframe. we need iframe.
2299
- Test.AnotherWay._g_test_iframe=Test.AnotherWay._g_test_iframe.contentWindow;
2300
- }
2301
- }catch(e) {
2302
- // ignore stupid opera error if the frame has onload handler assigned in the inline html
2303
- }
2304
- var handlers={
2305
- "run_all": { "onclick": Test.AnotherWay._run_all_onclick },
2306
- "run_selected": { "onclick": Test.AnotherWay._run_selected_onclick },
2307
- "unselect_all": { "onclick": Test.AnotherWay._unselect_all_onclick },
2308
- "record_select": { "onfocus": Test.AnotherWay._record_check_onfocus },
2309
- "record_input": { "onfocus": Test.AnotherWay._record_check_onfocus },
2310
- "record_start": { "onclick": Test.AnotherWay._record_start_onclick },
2311
- "clear_btn": { "onclick": Test.AnotherWay._results_clear_onclick },
2312
- "results_tab": { "onclick": Test.AnotherWay._tab_onclick, "onmouseover": Test.AnotherWay._tab_mouseover, "onmouseout": Test.AnotherWay._tab_mouseout },
2313
- "debug_tab": { "onclick": Test.AnotherWay._tab_onclick, "onmouseover": Test.AnotherWay._tab_mouseover, "onmouseout": Test.AnotherWay._tab_mouseout }
2314
- };
2315
- for( var hs in handlers ) {
2316
- var o=document.getElementById( hs );
2317
- if( o!=null ) {
2318
- for( var h in handlers[hs] ) {
2319
- o[h]=handlers[hs][h];
2320
- }
2321
- }else {
2322
- Test.AnotherWay._show_error( "unable to set "+h+" handler: id "+hs+" not found" );
2323
- }
2324
- }
2325
-
2326
- if( window.opera && !good_opera ) {
2327
- Test.AnotherWay._g_no_record_msg="Input events recording and replaying is not available in opera versions prior to 8.0.";
2328
- }
2329
- if( is_ie ) {
2330
- Test.AnotherWay._g_no_record_msg="Input events recording and replaying is not available in internet explorer.";
2331
- }
2332
- if( Test.AnotherWay._g_no_record_msg!=null ) {
2333
- var no_record_p=document.getElementById( "record_not_supported" );
2334
- no_record_p.style.display="block";
2335
- no_record_p.appendChild( document.createTextNode( Test.AnotherWay._g_no_record_msg ) );
2336
- }
2337
-
2338
- Test.AnotherWay._g_main_loaded=true;
2339
- if( Test.AnotherWay._g_run_on_main_load ) {
2340
- Test.AnotherWay._g_run_on_main_load=false;
2341
- Test.AnotherWay._run_pages_to_run();
2342
- }
2343
- }
2344
- Test.AnotherWay._test_object_t.prototype.open_window=null;
2345
- // -->
2346
- </script>
2347
- <script type="text/javascript" src="xml_eq.js"></script>
2348
- <script type="text/javascript" src="geom_eq.js"></script>
2349
- </head><body>
2350
-
2351
- <div id="col1">
2352
- <div id="col1_header">Test pages:</div>
2353
- <div id="scroller">
2354
- <table id="testtable">
2355
- </table>
2356
- </div>
2357
- <div id="run_buttons">
2358
- <input type="button" value=" clear " id="clear_btn" />
2359
- <input type="button" value=" run all " id="run_all" />
2360
- <input type="button" value=" run selected " id="run_selected" />
2361
- <input type="button" value=" unselect all " id="unselect_all" />
2362
- </div>
2363
- <input type="checkbox" id="dont_close_test_windows" /> do not close windows opened by tests
2364
- <div id="error"></div>
2365
- <div id="record_div">
2366
- <p id="record_not_supported" style="display:none"></p>
2367
- <p>Record mouse input for the page:</p>
2368
- <p><input type="radio" name="record_choose" value="select" checked="checked" /> <select id="record_select"><option selected="selected">-- select a page: --</option></select></p>
2369
- <p><input type="radio" name="record_choose" value="input" /> or enter page url: <input type="text" id="record_input" /></p>
2370
- <p><input type="button" value=" record " id="record_start" /></p>
2371
- </div>
2372
- </div>
2373
-
2374
- <div id="col2">
2375
- <div id="right_header">
2376
- <span id="results_count">Results: <span id="total"></span></span>
2377
- <span id="results_tab" class="active_tab" style="visibility:hidden">Results</span>
2378
- <span id="debug_tab" class="inactive_tab" style="visibility:hidden">Debug</span>
2379
- </div>
2380
- <div id="right_frame">
2381
- <div id="results"></div>
2382
- <div id="debug"></div>
2383
- </div>
2384
- </div>
2385
-
2386
- <span style="display:none">
2387
- <iframe name="list_iframe" onload="Test.AnotherWay._list_iframe_onload();"></iframe>
2388
- <iframe name="test_iframe" onload="Test.AnotherWay._test_page_onload();"></iframe>
2389
-
2390
- <!-- record_control div is to be imported into other documents, so all its styles are inline -->
2391
- -<div id="record_control" style="position:absolute;bottom:0;left:0;margin:0;padding:0.5em;width:22em;height:22em;border:1px solid;background:#ffd;font: normal normal 8pt sans-serif; color:#000; text-align: left">
2392
-
2393
- <p style="margin:0 0 0 0; padding:0">
2394
- &nbsp;
2395
- <span style="display:none;font-weight:bold;color:#408" id="record_indicator">
2396
- recording. <span style="font-weight:normal">time: <span id="record_time"></span></span><span id="record_pause_indicator"> paused</span>
2397
- </span>
2398
- </p>
2399
-
2400
- <div id="record_cursor_over" style="margin:0;padding:2px;width:14em;height:1.1em;overflow:hidden;float:right;border:1px solid #777;background:#fff;font: normal normal 8pt sans-serif;position:relative;top:3px;color:#000;text-align:left;">&nbsp;</div>
2401
- <p style="margin:2px 0 0 0; padding:0">
2402
- cursor is over
2403
- </p>
2404
-
2405
- <p style="margin:8px 0 0 0; padding:0;">
2406
- keyboard control: press
2407
- <span id="record_ctrl_key" style="border:1px solid #226;background:#adf;padding:0 0.5em">ctrl</span> -
2408
- <span id="record_shift_key" style="border:1px solid #226;background:#adf;padding:0 0.5em">shift</span> -
2409
- </p>
2410
-
2411
- <p style="margin:4px 0 0 0; padding:0">
2412
- <span id="record_s" style="border:1px solid #226;background:#adf;width:1.2em;float:left;font-weight:bold;text-align:center;margin-right:0.5em">s</span>
2413
- <span id="record_on">to <b>start</b> recording</span>
2414
- <span id="record_off" style="display:none">to <b>stop</b> recording</span>
2415
- </p>
2416
-
2417
- <p style="margin:4px 0 0 0; padding:0">
2418
- <span id="record_h" style="border:1px solid #226;background:#adf;width:1.2em;float:left;font-weight:bold;text-align:center;margin-right:0.5em">h</span>
2419
- <span>to <b>hide/show</b> this window</span>
2420
- </p>
2421
-
2422
- <p style="margin:4px 0 0 0; padding:0">
2423
- <span id="record_m" style="border:1px solid #226;background:#adf;width:1.2em;float:left;font-weight:bold;text-align:center;margin-right:0.5em">m</span>
2424
- <span id="record_include_mousemove">to <b> record</b> mousemove</span>
2425
- <span id="record_omit_mousemove" style="display:none">to <b>omit</b> mousemove</span>
2426
- </p>
2427
-
2428
- <p style="margin:4px 0 0 0; padding:0">
2429
- <span id="record_p" style="border:1px solid #226;background:#aaa;width:1.2em;float:left;font-weight:bold;text-align:center;margin-right:0.5em">p</span>
2430
- <span id="record_pause_on">to <b> pause</b> recording</span>
2431
- <span id="record_pause_off" style="display:none">to <b>continue</b> recording</span>
2432
- </p>
2433
-
2434
- <p style="margin:4px 0 0 0; padding:0">
2435
- <span id="record_c" style="border:1px solid #226;background:#aaa;width:1.2em;float:left;font-weight:bold;text-align:center;margin-right:0.5em">c</span>
2436
- <span>to add checkpoint</span>
2437
- </p>
2438
-
2439
- <p style="margin:6px 0 0 0; padding:0">
2440
- checkpoints:
2441
- </p>
2442
- <div id="record_checkpoints" style="position:relative;width:100%;height:6em;overflow:auto;font: normal normal 8pt sans-serif; color:#000; text-align: left">
2443
- </div>
2444
- </div>
2445
-
2446
- </span>
2447
- </body></html>