postrunner 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/lib/postrunner/ActivitiesDB.rb +8 -9
  4. data/lib/postrunner/Activity.rb +7 -1
  5. data/lib/postrunner/ActivityView.rb +10 -2
  6. data/lib/postrunner/DataSources.rb +100 -0
  7. data/lib/postrunner/DeviceList.rb +40 -17
  8. data/lib/postrunner/Log.rb +25 -0
  9. data/lib/postrunner/Main.rb +9 -8
  10. data/lib/postrunner/RuntimeConfig.rb +1 -0
  11. data/lib/postrunner/TrackView.rb +39 -62
  12. data/lib/postrunner/version.rb +1 -1
  13. data/misc/openlayers/ol.css +1 -0
  14. data/misc/openlayers/ol.js +948 -0
  15. data/postrunner.gemspec +2 -2
  16. data/spec/PostRunner_spec.rb +22 -23
  17. data/spec/spec_helper.rb +34 -4
  18. metadata +11 -1214
  19. data/misc/openlayers/.gitignore +0 -7
  20. data/misc/openlayers/OpenLayers.debug.js +0 -85622
  21. data/misc/openlayers/OpenLayers.js +0 -1443
  22. data/misc/openlayers/OpenLayers.light.debug.js +0 -37230
  23. data/misc/openlayers/OpenLayers.light.js +0 -592
  24. data/misc/openlayers/OpenLayers.mobile.debug.js +0 -41831
  25. data/misc/openlayers/OpenLayers.mobile.js +0 -681
  26. data/misc/openlayers/apidoc_config/Languages.txt +0 -113
  27. data/misc/openlayers/apidoc_config/Menu.txt +0 -520
  28. data/misc/openlayers/apidoc_config/OL.css +0 -20
  29. data/misc/openlayers/apidoc_config/Topics.txt +0 -105
  30. data/misc/openlayers/art/arrows.svg +0 -127
  31. data/misc/openlayers/art/layer-switcher-maximize.svg +0 -128
  32. data/misc/openlayers/art/layer-switcher-minimize.svg +0 -142
  33. data/misc/openlayers/art/marker.svg +0 -25
  34. data/misc/openlayers/art/measuring-stick-off.svg +0 -36
  35. data/misc/openlayers/art/measuring-stick-on.svg +0 -36
  36. data/misc/openlayers/art/panning-hand-off.svg +0 -44
  37. data/misc/openlayers/art/panning-hand-on.svg +0 -44
  38. data/misc/openlayers/art/slider.svg +0 -71
  39. data/misc/openlayers/art/zoom-world.svg +0 -193
  40. data/misc/openlayers/art/zoombar.svg +0 -73
  41. data/misc/openlayers/authors.txt +0 -56
  42. data/misc/openlayers/build/README.txt +0 -46
  43. data/misc/openlayers/build/build.py +0 -158
  44. data/misc/openlayers/build/buildUncompressed.py +0 -25
  45. data/misc/openlayers/build/closure-compiler/Externs.js +0 -50
  46. data/misc/openlayers/build/full.cfg +0 -14
  47. data/misc/openlayers/build/license.txt +0 -57
  48. data/misc/openlayers/build/light.cfg +0 -32
  49. data/misc/openlayers/build/lite.cfg +0 -17
  50. data/misc/openlayers/build/mobile.cfg +0 -36
  51. data/misc/openlayers/build/tests.cfg +0 -11
  52. data/misc/openlayers/doc_config/Data/ClassHierarchy.nd +0 -0
  53. data/misc/openlayers/doc_config/Data/ConfigFileInfo.nd +0 -0
  54. data/misc/openlayers/doc_config/Data/FileInfo.nd +0 -323
  55. data/misc/openlayers/doc_config/Data/ImageFileInfo.nd +0 -0
  56. data/misc/openlayers/doc_config/Data/ImageReferenceTable.nd +0 -0
  57. data/misc/openlayers/doc_config/Data/IndexInfo.nd +0 -0
  58. data/misc/openlayers/doc_config/Data/PreviousMenuState.nd +0 -0
  59. data/misc/openlayers/doc_config/Data/PreviousSettings.nd +0 -0
  60. data/misc/openlayers/doc_config/Data/SymbolTable.nd +0 -0
  61. data/misc/openlayers/doc_config/Languages.txt +0 -113
  62. data/misc/openlayers/doc_config/Menu.txt +0 -520
  63. data/misc/openlayers/doc_config/OL.css +0 -20
  64. data/misc/openlayers/doc_config/Topics.txt +0 -102
  65. data/misc/openlayers/examples/Jugl.js +0 -8
  66. data/misc/openlayers/examples/KMLParser.html +0 -57
  67. data/misc/openlayers/examples/SLDSelect.html +0 -202
  68. data/misc/openlayers/examples/WMSDescribeLayerParser.html +0 -52
  69. data/misc/openlayers/examples/accelerometer.html +0 -100
  70. data/misc/openlayers/examples/accessible-click-control.html +0 -69
  71. data/misc/openlayers/examples/accessible-click-control.js +0 -199
  72. data/misc/openlayers/examples/accessible-panel.html +0 -130
  73. data/misc/openlayers/examples/accessible-panel.js +0 -64
  74. data/misc/openlayers/examples/accessible.html +0 -167
  75. data/misc/openlayers/examples/all-overlays-google.html +0 -34
  76. data/misc/openlayers/examples/all-overlays-google.js +0 -19
  77. data/misc/openlayers/examples/all-overlays.html +0 -76
  78. data/misc/openlayers/examples/anchor-permalink.html +0 -29
  79. data/misc/openlayers/examples/anchor-permalink.js +0 -13
  80. data/misc/openlayers/examples/animated_panning.html +0 -98
  81. data/misc/openlayers/examples/animator.js +0 -670
  82. data/misc/openlayers/examples/arcgis93rest.html +0 -69
  83. data/misc/openlayers/examples/arcgiscache_ags.html +0 -221
  84. data/misc/openlayers/examples/arcgiscache_direct.html +0 -108
  85. data/misc/openlayers/examples/arcgiscache_jsonp.html +0 -106
  86. data/misc/openlayers/examples/arcims-thematic.html +0 -82
  87. data/misc/openlayers/examples/arcims.html +0 -57
  88. data/misc/openlayers/examples/attribution.html +0 -60
  89. data/misc/openlayers/examples/behavior-fixed-http-gml.html +0 -56
  90. data/misc/openlayers/examples/bing-tiles-restrictedzoom.html +0 -43
  91. data/misc/openlayers/examples/bing-tiles-restrictedzoom.js +0 -37
  92. data/misc/openlayers/examples/bing-tiles.html +0 -39
  93. data/misc/openlayers/examples/bing-tiles.js +0 -31
  94. data/misc/openlayers/examples/bing.html +0 -64
  95. data/misc/openlayers/examples/bootstrap.html +0 -81
  96. data/misc/openlayers/examples/bootstrap.js +0 -31
  97. data/misc/openlayers/examples/boxes-vector.html +0 -59
  98. data/misc/openlayers/examples/boxes.html +0 -58
  99. data/misc/openlayers/examples/browser.html +0 -152
  100. data/misc/openlayers/examples/browser.js +0 -241
  101. data/misc/openlayers/examples/buffer.html +0 -54
  102. data/misc/openlayers/examples/cache-read.html +0 -36
  103. data/misc/openlayers/examples/cache-read.js +0 -36
  104. data/misc/openlayers/examples/cache-write.html +0 -37
  105. data/misc/openlayers/examples/cache-write.js +0 -46
  106. data/misc/openlayers/examples/canvas-hit-detection.html +0 -31
  107. data/misc/openlayers/examples/canvas-hit-detection.js +0 -88
  108. data/misc/openlayers/examples/canvas-inspector.html +0 -53
  109. data/misc/openlayers/examples/canvas-inspector.js +0 -91
  110. data/misc/openlayers/examples/canvas.html +0 -35
  111. data/misc/openlayers/examples/canvas.js +0 -57
  112. data/misc/openlayers/examples/cartodb-geojson.html +0 -71
  113. data/misc/openlayers/examples/click-handler.html +0 -232
  114. data/misc/openlayers/examples/click.html +0 -91
  115. data/misc/openlayers/examples/clientzoom.html +0 -72
  116. data/misc/openlayers/examples/clientzoom.js +0 -39
  117. data/misc/openlayers/examples/controls.html +0 -86
  118. data/misc/openlayers/examples/cql-format.html +0 -54
  119. data/misc/openlayers/examples/cql-format.js +0 -61
  120. data/misc/openlayers/examples/cross-origin-xml.html +0 -32
  121. data/misc/openlayers/examples/cross-origin-xml.js +0 -25
  122. data/misc/openlayers/examples/cross-origin.html +0 -36
  123. data/misc/openlayers/examples/cross-origin.js +0 -39
  124. data/misc/openlayers/examples/custom-control.html +0 -68
  125. data/misc/openlayers/examples/custom-style.html +0 -66
  126. data/misc/openlayers/examples/data/4_m_citylights_lg.gif +0 -0
  127. data/misc/openlayers/examples/data/line.json +0 -10
  128. data/misc/openlayers/examples/data/point.json +0 -8
  129. data/misc/openlayers/examples/data/poly.json +0 -9
  130. data/misc/openlayers/examples/data/roads.json +0 -349
  131. data/misc/openlayers/examples/data/tazdem.tiff +0 -0
  132. data/misc/openlayers/examples/debug.html +0 -77
  133. data/misc/openlayers/examples/document-drag.html +0 -43
  134. data/misc/openlayers/examples/donut.html +0 -62
  135. data/misc/openlayers/examples/donut.js +0 -44
  136. data/misc/openlayers/examples/drag-feature.html +0 -114
  137. data/misc/openlayers/examples/draw-feature.html +0 -143
  138. data/misc/openlayers/examples/draw-undo-redo.html +0 -38
  139. data/misc/openlayers/examples/draw-undo-redo.js +0 -45
  140. data/misc/openlayers/examples/dynamic-text-layer.html +0 -101
  141. data/misc/openlayers/examples/editing-methods.html +0 -58
  142. data/misc/openlayers/examples/editing-methods.js +0 -83
  143. data/misc/openlayers/examples/editingtoolbar-outside.html +0 -56
  144. data/misc/openlayers/examples/editingtoolbar.html +0 -55
  145. data/misc/openlayers/examples/encoded-polyline.html +0 -47
  146. data/misc/openlayers/examples/events.html +0 -155
  147. data/misc/openlayers/examples/example-list.html +0 -302
  148. data/misc/openlayers/examples/example.html +0 -25
  149. data/misc/openlayers/examples/example.js +0 -23
  150. data/misc/openlayers/examples/feature-events.html +0 -46
  151. data/misc/openlayers/examples/feature-events.js +0 -67
  152. data/misc/openlayers/examples/filter-strategy.html +0 -54
  153. data/misc/openlayers/examples/filter-strategy.js +0 -84
  154. data/misc/openlayers/examples/filter.html +0 -107
  155. data/misc/openlayers/examples/fractional-zoom.html +0 -72
  156. data/misc/openlayers/examples/fullScreen.html +0 -53
  157. data/misc/openlayers/examples/fullScreen.js +0 -20
  158. data/misc/openlayers/examples/fusiontables.html +0 -35
  159. data/misc/openlayers/examples/fusiontables.js +0 -51
  160. data/misc/openlayers/examples/game-accel-ball.html +0 -82
  161. data/misc/openlayers/examples/geojson-reprojected.html +0 -46
  162. data/misc/openlayers/examples/geojson-reprojected.js +0 -27
  163. data/misc/openlayers/examples/geojson-reprojected.json +0 -1
  164. data/misc/openlayers/examples/geojson.html +0 -77
  165. data/misc/openlayers/examples/geolocation.html +0 -41
  166. data/misc/openlayers/examples/geolocation.js +0 -112
  167. data/misc/openlayers/examples/georss-flickr.html +0 -119
  168. data/misc/openlayers/examples/georss-markers.html +0 -45
  169. data/misc/openlayers/examples/georss.html +0 -63
  170. data/misc/openlayers/examples/georss.xml +0 -378
  171. data/misc/openlayers/examples/getfeature-wfs.html +0 -84
  172. data/misc/openlayers/examples/getfeatureinfo-control.html +0 -221
  173. data/misc/openlayers/examples/getfeatureinfo-popup.html +0 -96
  174. data/misc/openlayers/examples/gml-layer.html +0 -48
  175. data/misc/openlayers/examples/gml/line.xml +0 -42
  176. data/misc/openlayers/examples/gml/multipoint.xml +0 -70
  177. data/misc/openlayers/examples/gml/multipolygon.xml +0 -106
  178. data/misc/openlayers/examples/gml/owls.xml +0 -156
  179. data/misc/openlayers/examples/gml/point.xml +0 -42
  180. data/misc/openlayers/examples/gml/polygon.xml +0 -89
  181. data/misc/openlayers/examples/google-static.html +0 -39
  182. data/misc/openlayers/examples/google-static.js +0 -61
  183. data/misc/openlayers/examples/google-v3-alloverlays.html +0 -33
  184. data/misc/openlayers/examples/google-v3-alloverlays.js +0 -35
  185. data/misc/openlayers/examples/google-v3.html +0 -35
  186. data/misc/openlayers/examples/google-v3.js +0 -39
  187. data/misc/openlayers/examples/google.html +0 -69
  188. data/misc/openlayers/examples/graphic-name.html +0 -42
  189. data/misc/openlayers/examples/graphic-name.js +0 -67
  190. data/misc/openlayers/examples/graticule.html +0 -116
  191. data/misc/openlayers/examples/gutter.html +0 -55
  192. data/misc/openlayers/examples/highlight-feature.html +0 -88
  193. data/misc/openlayers/examples/hover-handler.html +0 -216
  194. data/misc/openlayers/examples/image-layer.html +0 -76
  195. data/misc/openlayers/examples/img/check-round-green.png +0 -0
  196. data/misc/openlayers/examples/img/check-round-grey.png +0 -0
  197. data/misc/openlayers/examples/img/list.png +0 -0
  198. data/misc/openlayers/examples/img/locate.png +0 -0
  199. data/misc/openlayers/examples/img/marker_shadow.png +0 -0
  200. data/misc/openlayers/examples/img/minus1.png +0 -0
  201. data/misc/openlayers/examples/img/mobile-layers.png +0 -0
  202. data/misc/openlayers/examples/img/mobile-loc.png +0 -0
  203. data/misc/openlayers/examples/img/mobile-zoombar.png +0 -0
  204. data/misc/openlayers/examples/img/openlayers.png +0 -0
  205. data/misc/openlayers/examples/img/popupMatrix.jpg +0 -0
  206. data/misc/openlayers/examples/img/small.jpg +0 -0
  207. data/misc/openlayers/examples/img/thinlong.jpg +0 -0
  208. data/misc/openlayers/examples/img/widelong.jpg +0 -0
  209. data/misc/openlayers/examples/img/wideshort.jpg +0 -0
  210. data/misc/openlayers/examples/intersects.html +0 -193
  211. data/misc/openlayers/examples/kamap.html +0 -45
  212. data/misc/openlayers/examples/kamap.txt +0 -508
  213. data/misc/openlayers/examples/kinetic.html +0 -44
  214. data/misc/openlayers/examples/kinetic.js +0 -27
  215. data/misc/openlayers/examples/kml-layer.html +0 -36
  216. data/misc/openlayers/examples/kml-layer.js +0 -22
  217. data/misc/openlayers/examples/kml-pointtrack.html +0 -40
  218. data/misc/openlayers/examples/kml-pointtrack.js +0 -52
  219. data/misc/openlayers/examples/kml-track.html +0 -42
  220. data/misc/openlayers/examples/kml-track.js +0 -40
  221. data/misc/openlayers/examples/kml-track.kml +0 -3359
  222. data/misc/openlayers/examples/kml/lines.kml +0 -275
  223. data/misc/openlayers/examples/kml/styles.kml +0 -21
  224. data/misc/openlayers/examples/kml/sundials.kml +0 -2273
  225. data/misc/openlayers/examples/label-scale.html +0 -34
  226. data/misc/openlayers/examples/label-scale.js +0 -72
  227. data/misc/openlayers/examples/late-render.html +0 -48
  228. data/misc/openlayers/examples/layer-opacity.html +0 -95
  229. data/misc/openlayers/examples/layerLoadMonitoring.html +0 -135
  230. data/misc/openlayers/examples/layerswitcher.html +0 -60
  231. data/misc/openlayers/examples/light-basic.html +0 -35
  232. data/misc/openlayers/examples/light-basic.js +0 -67
  233. data/misc/openlayers/examples/lite.html +0 -39
  234. data/misc/openlayers/examples/mapbox.html +0 -30
  235. data/misc/openlayers/examples/mapbox.js +0 -21
  236. data/misc/openlayers/examples/mapguide.html +0 -155
  237. data/misc/openlayers/examples/mapquest.html +0 -28
  238. data/misc/openlayers/examples/mapquest.js +0 -36
  239. data/misc/openlayers/examples/mapserver.html +0 -41
  240. data/misc/openlayers/examples/mapserver_untiled.html +0 -43
  241. data/misc/openlayers/examples/marker-shadow.html +0 -152
  242. data/misc/openlayers/examples/markerResize.html +0 -60
  243. data/misc/openlayers/examples/markers.html +0 -59
  244. data/misc/openlayers/examples/markersTextLayer.html +0 -41
  245. data/misc/openlayers/examples/measure.html +0 -203
  246. data/misc/openlayers/examples/mobile-base.js +0 -167
  247. data/misc/openlayers/examples/mobile-drawing.html +0 -52
  248. data/misc/openlayers/examples/mobile-drawing.js +0 -71
  249. data/misc/openlayers/examples/mobile-jq.html +0 -76
  250. data/misc/openlayers/examples/mobile-jq.js +0 -159
  251. data/misc/openlayers/examples/mobile-layers.html +0 -62
  252. data/misc/openlayers/examples/mobile-layers.js +0 -71
  253. data/misc/openlayers/examples/mobile-navigation.html +0 -52
  254. data/misc/openlayers/examples/mobile-navigation.js +0 -24
  255. data/misc/openlayers/examples/mobile-sencha.html +0 -184
  256. data/misc/openlayers/examples/mobile-sencha.js +0 -198
  257. data/misc/openlayers/examples/mobile-wmts-vienna.css +0 -205
  258. data/misc/openlayers/examples/mobile-wmts-vienna.html +0 -27
  259. data/misc/openlayers/examples/mobile-wmts-vienna.js +0 -281
  260. data/misc/openlayers/examples/mobile.html +0 -56
  261. data/misc/openlayers/examples/mobile.js +0 -39
  262. data/misc/openlayers/examples/modify-feature.html +0 -193
  263. data/misc/openlayers/examples/mouse-position.html +0 -67
  264. data/misc/openlayers/examples/mousewheel-interval.html +0 -63
  265. data/misc/openlayers/examples/multiserver.html +0 -52
  266. data/misc/openlayers/examples/multitouch.html +0 -28
  267. data/misc/openlayers/examples/mvs.html +0 -129
  268. data/misc/openlayers/examples/navigation-control.html +0 -44
  269. data/misc/openlayers/examples/navigation-history.html +0 -62
  270. data/misc/openlayers/examples/navtoolbar-alwaysZoom.html +0 -85
  271. data/misc/openlayers/examples/navtoolbar-outsidemap.html +0 -47
  272. data/misc/openlayers/examples/navtoolbar.html +0 -46
  273. data/misc/openlayers/examples/offline-storage.html +0 -44
  274. data/misc/openlayers/examples/offline-storage.js +0 -199
  275. data/misc/openlayers/examples/openls.html +0 -88
  276. data/misc/openlayers/examples/ordering.html +0 -221
  277. data/misc/openlayers/examples/osm-google.html +0 -32
  278. data/misc/openlayers/examples/osm-google.js +0 -23
  279. data/misc/openlayers/examples/osm-grayscale.html +0 -77
  280. data/misc/openlayers/examples/osm-marker-popup.html +0 -32
  281. data/misc/openlayers/examples/osm-marker-popup.js +0 -39
  282. data/misc/openlayers/examples/osm.html +0 -41
  283. data/misc/openlayers/examples/osm/sutton_coldfield.osm +0 -662
  284. data/misc/openlayers/examples/overviewmap.html +0 -120
  285. data/misc/openlayers/examples/pan-zoom-panels.html +0 -97
  286. data/misc/openlayers/examples/panel.html +0 -99
  287. data/misc/openlayers/examples/point-grid.html +0 -75
  288. data/misc/openlayers/examples/point-grid.js +0 -33
  289. data/misc/openlayers/examples/point-track-markers.html +0 -72
  290. data/misc/openlayers/examples/polar-projections.html +0 -41
  291. data/misc/openlayers/examples/polar-projections.js +0 -84
  292. data/misc/openlayers/examples/popupMatrix.html +0 -652
  293. data/misc/openlayers/examples/proxy.cgi +0 -81
  294. data/misc/openlayers/examples/regular-polygons.html +0 -177
  295. data/misc/openlayers/examples/resize-features.html +0 -101
  296. data/misc/openlayers/examples/restricted-extent.html +0 -77
  297. data/misc/openlayers/examples/rotate-features.html +0 -113
  298. data/misc/openlayers/examples/select-feature-multilayer.html +0 -129
  299. data/misc/openlayers/examples/select-feature-openpopup.html +0 -106
  300. data/misc/openlayers/examples/select-feature.html +0 -170
  301. data/misc/openlayers/examples/setextent.html +0 -39
  302. data/misc/openlayers/examples/simplify-linestring.html +0 -103
  303. data/misc/openlayers/examples/simplify-linestring.js +0 -599
  304. data/misc/openlayers/examples/single-tile.html +0 -33
  305. data/misc/openlayers/examples/single-tile.js +0 -20
  306. data/misc/openlayers/examples/sld-parser.html +0 -70
  307. data/misc/openlayers/examples/sld.html +0 -31
  308. data/misc/openlayers/examples/sld.js +0 -102
  309. data/misc/openlayers/examples/snap-grid.html +0 -78
  310. data/misc/openlayers/examples/snap-grid.js +0 -81
  311. data/misc/openlayers/examples/snap-split.html +0 -281
  312. data/misc/openlayers/examples/snapping.html +0 -324
  313. data/misc/openlayers/examples/sos.html +0 -189
  314. data/misc/openlayers/examples/spherical-mercator.html +0 -120
  315. data/misc/openlayers/examples/split-feature.html +0 -116
  316. data/misc/openlayers/examples/strategy-bbox.html +0 -106
  317. data/misc/openlayers/examples/strategy-cluster-extended.html +0 -125
  318. data/misc/openlayers/examples/strategy-cluster-extended.js +0 -247
  319. data/misc/openlayers/examples/strategy-cluster-threshold.html +0 -149
  320. data/misc/openlayers/examples/strategy-cluster.html +0 -238
  321. data/misc/openlayers/examples/strategy-paging.html +0 -115
  322. data/misc/openlayers/examples/style-rules.html +0 -49
  323. data/misc/openlayers/examples/style-rules.js +0 -99
  324. data/misc/openlayers/examples/style.css +0 -143
  325. data/misc/openlayers/examples/style.mobile-jq.css +0 -62
  326. data/misc/openlayers/examples/stylemap.html +0 -100
  327. data/misc/openlayers/examples/styles-context.html +0 -117
  328. data/misc/openlayers/examples/styles-rotation.html +0 -93
  329. data/misc/openlayers/examples/styles-unique.html +0 -109
  330. data/misc/openlayers/examples/sundials-spherical-mercator.html +0 -111
  331. data/misc/openlayers/examples/sundials.html +0 -107
  332. data/misc/openlayers/examples/symbolizers-fill-stroke-graphic.html +0 -141
  333. data/misc/openlayers/examples/tasmania/TasmaniaCities.xml +0 -40
  334. data/misc/openlayers/examples/tasmania/TasmaniaRoads.xml +0 -204
  335. data/misc/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml +0 -92
  336. data/misc/openlayers/examples/tasmania/TasmaniaWaterBodies.xml +0 -162
  337. data/misc/openlayers/examples/tasmania/sld-tasmania.xml +0 -594
  338. data/misc/openlayers/examples/teleportation.html +0 -76
  339. data/misc/openlayers/examples/textfile.txt +0 -4
  340. data/misc/openlayers/examples/tile-origin.html +0 -38
  341. data/misc/openlayers/examples/tile-origin.js +0 -16
  342. data/misc/openlayers/examples/tilecache.html +0 -58
  343. data/misc/openlayers/examples/tms.html +0 -62
  344. data/misc/openlayers/examples/transform-feature.html +0 -123
  345. data/misc/openlayers/examples/transition.html +0 -70
  346. data/misc/openlayers/examples/using-proj4js.html +0 -109
  347. data/misc/openlayers/examples/using-proj4js.js +0 -132
  348. data/misc/openlayers/examples/utfgrid-geography-class.html +0 -51
  349. data/misc/openlayers/examples/utfgrid-geography-class.js +0 -62
  350. data/misc/openlayers/examples/utfgrid.html +0 -64
  351. data/misc/openlayers/examples/utfgrid.js +0 -61
  352. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  353. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  354. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  355. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  356. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  357. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  358. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  359. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  360. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  361. data/misc/openlayers/examples/utfgrid/geography-class/0/0/0.grid.json +0 -1
  362. data/misc/openlayers/examples/utfgrid/geography-class/1/0/0.grid.json +0 -1
  363. data/misc/openlayers/examples/utfgrid/geography-class/1/0/1.grid.json +0 -1
  364. data/misc/openlayers/examples/utfgrid/geography-class/1/1/0.grid.json +0 -1
  365. data/misc/openlayers/examples/utfgrid/geography-class/1/1/1.grid.json +0 -1
  366. data/misc/openlayers/examples/utfgrid/geography-class/2/0/0.grid.json +0 -1
  367. data/misc/openlayers/examples/utfgrid/geography-class/2/0/1.grid.json +0 -1
  368. data/misc/openlayers/examples/utfgrid/geography-class/2/0/2.grid.json +0 -1
  369. data/misc/openlayers/examples/utfgrid/geography-class/2/0/3.grid.json +0 -1
  370. data/misc/openlayers/examples/utfgrid/geography-class/2/1/0.grid.json +0 -1
  371. data/misc/openlayers/examples/utfgrid/geography-class/2/1/1.grid.json +0 -1
  372. data/misc/openlayers/examples/utfgrid/geography-class/2/1/2.grid.json +0 -1
  373. data/misc/openlayers/examples/utfgrid/geography-class/2/1/3.grid.json +0 -1
  374. data/misc/openlayers/examples/utfgrid/geography-class/2/2/0.grid.json +0 -1
  375. data/misc/openlayers/examples/utfgrid/geography-class/2/2/1.grid.json +0 -1
  376. data/misc/openlayers/examples/utfgrid/geography-class/2/2/2.grid.json +0 -1
  377. data/misc/openlayers/examples/utfgrid/geography-class/2/2/3.grid.json +0 -1
  378. data/misc/openlayers/examples/utfgrid/geography-class/2/3/0.grid.json +0 -1
  379. data/misc/openlayers/examples/utfgrid/geography-class/2/3/1.grid.json +0 -1
  380. data/misc/openlayers/examples/utfgrid/geography-class/2/3/2.grid.json +0 -1
  381. data/misc/openlayers/examples/utfgrid/geography-class/2/3/3.grid.json +0 -1
  382. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/0.json +0 -1
  383. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/1.json +0 -1
  384. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/2.json +0 -1
  385. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/0.json +0 -1
  386. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/1.json +0 -1
  387. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/2.json +0 -1
  388. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/0.json +0 -1
  389. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/1.json +0 -1
  390. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/2.json +0 -1
  391. data/misc/openlayers/examples/utfgrid_twogrids.html +0 -51
  392. data/misc/openlayers/examples/utfgrid_twogrids.js +0 -70
  393. data/misc/openlayers/examples/vector-features-with-text.html +0 -138
  394. data/misc/openlayers/examples/vector-features.html +0 -149
  395. data/misc/openlayers/examples/vector-formats.html +0 -240
  396. data/misc/openlayers/examples/web-mercator.html +0 -50
  397. data/misc/openlayers/examples/web-mercator.js +0 -37
  398. data/misc/openlayers/examples/wfs-filter.html +0 -35
  399. data/misc/openlayers/examples/wfs-filter.js +0 -48
  400. data/misc/openlayers/examples/wfs-protocol-transactions.html +0 -104
  401. data/misc/openlayers/examples/wfs-protocol-transactions.js +0 -106
  402. data/misc/openlayers/examples/wfs-protocol.html +0 -55
  403. data/misc/openlayers/examples/wfs-reprojection.html +0 -42
  404. data/misc/openlayers/examples/wfs-reprojection.js +0 -60
  405. data/misc/openlayers/examples/wfs-snap-split.html +0 -292
  406. data/misc/openlayers/examples/wfs-spatial-filter.html +0 -37
  407. data/misc/openlayers/examples/wfs-spatial-filter.js +0 -36
  408. data/misc/openlayers/examples/wfs-states.html +0 -34
  409. data/misc/openlayers/examples/wfs-states.js +0 -35
  410. data/misc/openlayers/examples/wmc.html +0 -150
  411. data/misc/openlayers/examples/wms-long-url.html +0 -44
  412. data/misc/openlayers/examples/wms-long-url.js +0 -26
  413. data/misc/openlayers/examples/wms-untiled.html +0 -48
  414. data/misc/openlayers/examples/wms-v13.html +0 -57
  415. data/misc/openlayers/examples/wms.html +0 -49
  416. data/misc/openlayers/examples/wmst.html +0 -63
  417. data/misc/openlayers/examples/wmts-capabilities.html +0 -43
  418. data/misc/openlayers/examples/wmts-capabilities.js +0 -58
  419. data/misc/openlayers/examples/wmts-getfeatureinfo.html +0 -74
  420. data/misc/openlayers/examples/wmts-getfeatureinfo.js +0 -94
  421. data/misc/openlayers/examples/wmts.html +0 -41
  422. data/misc/openlayers/examples/wmts.js +0 -35
  423. data/misc/openlayers/examples/wps-client.html +0 -31
  424. data/misc/openlayers/examples/wps-client.js +0 -75
  425. data/misc/openlayers/examples/wps.html +0 -89
  426. data/misc/openlayers/examples/wps.js +0 -353
  427. data/misc/openlayers/examples/wrapDateLine.html +0 -73
  428. data/misc/openlayers/examples/xhtml.html +0 -42
  429. data/misc/openlayers/examples/xml.html +0 -161
  430. data/misc/openlayers/examples/xml/features.xml +0 -2
  431. data/misc/openlayers/examples/xml/georss-flickr.xml +0 -730
  432. data/misc/openlayers/examples/xml/track1.xml +0 -98
  433. data/misc/openlayers/examples/xml/wmsdescribelayer.xml +0 -5
  434. data/misc/openlayers/examples/xyz-esri.html +0 -45
  435. data/misc/openlayers/examples/yelp-georss.xml +0 -147
  436. data/misc/openlayers/examples/zoom.html +0 -68
  437. data/misc/openlayers/examples/zoom.js +0 -34
  438. data/misc/openlayers/examples/zoomLevels.html +0 -81
  439. data/misc/openlayers/examples/zoomify.html +0 -70
  440. data/misc/openlayers/img/blank.gif +0 -0
  441. data/misc/openlayers/img/cloud-popup-relative.png +0 -0
  442. data/misc/openlayers/img/drag-rectangle-off.png +0 -0
  443. data/misc/openlayers/img/drag-rectangle-on.png +0 -0
  444. data/misc/openlayers/img/east-mini.png +0 -0
  445. data/misc/openlayers/img/layer-switcher-maximize.png +0 -0
  446. data/misc/openlayers/img/layer-switcher-minimize.png +0 -0
  447. data/misc/openlayers/img/marker-blue.png +0 -0
  448. data/misc/openlayers/img/marker-gold.png +0 -0
  449. data/misc/openlayers/img/marker-green.png +0 -0
  450. data/misc/openlayers/img/marker.png +0 -0
  451. data/misc/openlayers/img/measuring-stick-off.png +0 -0
  452. data/misc/openlayers/img/measuring-stick-on.png +0 -0
  453. data/misc/openlayers/img/north-mini.png +0 -0
  454. data/misc/openlayers/img/panning-hand-off.png +0 -0
  455. data/misc/openlayers/img/panning-hand-on.png +0 -0
  456. data/misc/openlayers/img/slider.png +0 -0
  457. data/misc/openlayers/img/south-mini.png +0 -0
  458. data/misc/openlayers/img/west-mini.png +0 -0
  459. data/misc/openlayers/img/zoom-minus-mini.png +0 -0
  460. data/misc/openlayers/img/zoom-plus-mini.png +0 -0
  461. data/misc/openlayers/img/zoom-world-mini.png +0 -0
  462. data/misc/openlayers/img/zoombar.png +0 -0
  463. data/misc/openlayers/lib/Firebug/errorIcon.png +0 -0
  464. data/misc/openlayers/lib/Firebug/firebug.css +0 -209
  465. data/misc/openlayers/lib/Firebug/firebug.html +0 -23
  466. data/misc/openlayers/lib/Firebug/firebug.js +0 -674
  467. data/misc/openlayers/lib/Firebug/firebugx.js +0 -10
  468. data/misc/openlayers/lib/Firebug/infoIcon.png +0 -0
  469. data/misc/openlayers/lib/Firebug/license.txt +0 -30
  470. data/misc/openlayers/lib/Firebug/readme.txt +0 -13
  471. data/misc/openlayers/lib/Firebug/warningIcon.png +0 -0
  472. data/misc/openlayers/lib/OpenLayers.js +0 -429
  473. data/misc/openlayers/lib/OpenLayers/Animation.js +0 -102
  474. data/misc/openlayers/lib/OpenLayers/BaseTypes.js +0 -463
  475. data/misc/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -837
  476. data/misc/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -121
  477. data/misc/openlayers/lib/OpenLayers/BaseTypes/Date.js +0 -123
  478. data/misc/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -189
  479. data/misc/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -215
  480. data/misc/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -143
  481. data/misc/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -89
  482. data/misc/openlayers/lib/OpenLayers/Console.js +0 -250
  483. data/misc/openlayers/lib/OpenLayers/Control.js +0 -371
  484. data/misc/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -182
  485. data/misc/openlayers/lib/OpenLayers/Control/Attribution.js +0 -104
  486. data/misc/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  487. data/misc/openlayers/lib/OpenLayers/Control/CacheRead.js +0 -156
  488. data/misc/openlayers/lib/OpenLayers/Control/CacheWrite.js +0 -257
  489. data/misc/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -366
  490. data/misc/openlayers/lib/OpenLayers/Control/DragPan.js +0 -156
  491. data/misc/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -229
  492. data/misc/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -81
  493. data/misc/openlayers/lib/OpenLayers/Control/Geolocate.js +0 -192
  494. data/misc/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -597
  495. data/misc/openlayers/lib/OpenLayers/Control/Graticule.js +0 -377
  496. data/misc/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -142
  497. data/misc/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -521
  498. data/misc/openlayers/lib/OpenLayers/Control/Measure.js +0 -379
  499. data/misc/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -835
  500. data/misc/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -227
  501. data/misc/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -57
  502. data/misc/openlayers/lib/OpenLayers/Control/Navigation.js +0 -345
  503. data/misc/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  504. data/misc/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -750
  505. data/misc/openlayers/lib/OpenLayers/Control/Pan.js +0 -95
  506. data/misc/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -73
  507. data/misc/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -233
  508. data/misc/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -408
  509. data/misc/openlayers/lib/OpenLayers/Control/Panel.js +0 -431
  510. data/misc/openlayers/lib/OpenLayers/Control/Permalink.js +0 -257
  511. data/misc/openlayers/lib/OpenLayers/Control/PinchZoom.js +0 -157
  512. data/misc/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -567
  513. data/misc/openlayers/lib/OpenLayers/Control/Scale.js +0 -100
  514. data/misc/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -220
  515. data/misc/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -643
  516. data/misc/openlayers/lib/OpenLayers/Control/Snapping.js +0 -560
  517. data/misc/openlayers/lib/OpenLayers/Control/Split.js +0 -494
  518. data/misc/openlayers/lib/OpenLayers/Control/TouchNavigation.js +0 -182
  519. data/misc/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -624
  520. data/misc/openlayers/lib/OpenLayers/Control/UTFGrid.js +0 -240
  521. data/misc/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -532
  522. data/misc/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -400
  523. data/misc/openlayers/lib/OpenLayers/Control/Zoom.js +0 -138
  524. data/misc/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -129
  525. data/misc/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -29
  526. data/misc/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -29
  527. data/misc/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  528. data/misc/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -35
  529. data/misc/openlayers/lib/OpenLayers/Events.js +0 -1170
  530. data/misc/openlayers/lib/OpenLayers/Events/buttonclick.js +0 -206
  531. data/misc/openlayers/lib/OpenLayers/Events/featureclick.js +0 -321
  532. data/misc/openlayers/lib/OpenLayers/Feature.js +0 -225
  533. data/misc/openlayers/lib/OpenLayers/Feature/Vector.js +0 -510
  534. data/misc/openlayers/lib/OpenLayers/Filter.js +0 -87
  535. data/misc/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -267
  536. data/misc/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -87
  537. data/misc/openlayers/lib/OpenLayers/Filter/Function.js +0 -49
  538. data/misc/openlayers/lib/OpenLayers/Filter/Logical.js +0 -121
  539. data/misc/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -122
  540. data/misc/openlayers/lib/OpenLayers/Format.js +0 -123
  541. data/misc/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  542. data/misc/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -46
  543. data/misc/openlayers/lib/OpenLayers/Format/Atom.js +0 -712
  544. data/misc/openlayers/lib/OpenLayers/Format/CQL.js +0 -452
  545. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  546. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -240
  547. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  548. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -457
  549. data/misc/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  550. data/misc/openlayers/lib/OpenLayers/Format/EncodedPolyline.js +0 -557
  551. data/misc/openlayers/lib/OpenLayers/Format/Filter.js +0 -53
  552. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -504
  553. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -184
  554. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -222
  555. data/misc/openlayers/lib/OpenLayers/Format/GML.js +0 -923
  556. data/misc/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -645
  557. data/misc/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  558. data/misc/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -477
  559. data/misc/openlayers/lib/OpenLayers/Format/GPX.js +0 -385
  560. data/misc/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  561. data/misc/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -409
  562. data/misc/openlayers/lib/OpenLayers/Format/JSON.js +0 -398
  563. data/misc/openlayers/lib/OpenLayers/Format/KML.js +0 -1517
  564. data/misc/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js +0 -108
  565. data/misc/openlayers/lib/OpenLayers/Format/OSM.js +0 -465
  566. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon.js +0 -78
  567. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -318
  568. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -62
  569. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -116
  570. data/misc/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -86
  571. data/misc/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -595
  572. data/misc/openlayers/lib/OpenLayers/Format/QueryStringFilter.js +0 -183
  573. data/misc/openlayers/lib/OpenLayers/Format/SLD.js +0 -81
  574. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1309
  575. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -46
  576. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0_GeoServer.js +0 -149
  577. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -48
  578. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  579. data/misc/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -190
  580. data/misc/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -302
  581. data/misc/openlayers/lib/OpenLayers/Format/Text.js +0 -151
  582. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities.js +0 -47
  583. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1.js +0 -55
  584. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js +0 -170
  585. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_1_0.js +0 -109
  586. data/misc/openlayers/lib/OpenLayers/Format/WCSGetCoverage.js +0 -199
  587. data/misc/openlayers/lib/OpenLayers/Format/WFS.js +0 -223
  588. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -47
  589. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -129
  590. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -115
  591. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -63
  592. data/misc/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -234
  593. data/misc/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  594. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -446
  595. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -174
  596. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -189
  597. data/misc/openlayers/lib/OpenLayers/Format/WKT.js +0 -392
  598. data/misc/openlayers/lib/OpenLayers/Format/WMC.js +0 -182
  599. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -1267
  600. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -104
  601. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -149
  602. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -56
  603. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -368
  604. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -122
  605. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -57
  606. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -60
  607. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js +0 -85
  608. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  609. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  610. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -53
  611. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -122
  612. data/misc/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -296
  613. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -230
  614. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -251
  615. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities.js +0 -48
  616. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities/v1_0_0.js +0 -119
  617. data/misc/openlayers/lib/OpenLayers/Format/WPSDescribeProcess.js +0 -185
  618. data/misc/openlayers/lib/OpenLayers/Format/WPSExecute.js +0 -395
  619. data/misc/openlayers/lib/OpenLayers/Format/XLS.js +0 -68
  620. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1.js +0 -304
  621. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1_1_0.js +0 -48
  622. data/misc/openlayers/lib/OpenLayers/Format/XML.js +0 -897
  623. data/misc/openlayers/lib/OpenLayers/Format/XML/VersionedOGC.js +0 -212
  624. data/misc/openlayers/lib/OpenLayers/Geometry.js +0 -500
  625. data/misc/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -563
  626. data/misc/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -89
  627. data/misc/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -646
  628. data/misc/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -433
  629. data/misc/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -258
  630. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -66
  631. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -42
  632. data/misc/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  633. data/misc/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -255
  634. data/misc/openlayers/lib/OpenLayers/Handler.js +0 -325
  635. data/misc/openlayers/lib/OpenLayers/Handler/Box.js +0 -244
  636. data/misc/openlayers/lib/OpenLayers/Handler/Click.js +0 -505
  637. data/misc/openlayers/lib/OpenLayers/Handler/Drag.js +0 -547
  638. data/misc/openlayers/lib/OpenLayers/Handler/Feature.js +0 -434
  639. data/misc/openlayers/lib/OpenLayers/Handler/Hover.js +0 -180
  640. data/misc/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -117
  641. data/misc/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -264
  642. data/misc/openlayers/lib/OpenLayers/Handler/Path.js +0 -543
  643. data/misc/openlayers/lib/OpenLayers/Handler/Pinch.js +0 -239
  644. data/misc/openlayers/lib/OpenLayers/Handler/Point.js +0 -556
  645. data/misc/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -305
  646. data/misc/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -429
  647. data/misc/openlayers/lib/OpenLayers/Icon.js +0 -243
  648. data/misc/openlayers/lib/OpenLayers/Kinetic.js +0 -178
  649. data/misc/openlayers/lib/OpenLayers/Lang.js +0 -134
  650. data/misc/openlayers/lib/OpenLayers/Lang/ar.js +0 -32
  651. data/misc/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -54
  652. data/misc/openlayers/lib/OpenLayers/Lang/bg.js +0 -25
  653. data/misc/openlayers/lib/OpenLayers/Lang/br.js +0 -53
  654. data/misc/openlayers/lib/OpenLayers/Lang/ca.js +0 -89
  655. data/misc/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -45
  656. data/misc/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -80
  657. data/misc/openlayers/lib/OpenLayers/Lang/de.js +0 -55
  658. data/misc/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  659. data/misc/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  660. data/misc/openlayers/lib/OpenLayers/Lang/en.js +0 -89
  661. data/misc/openlayers/lib/OpenLayers/Lang/es.js +0 -90
  662. data/misc/openlayers/lib/OpenLayers/Lang/fi.js +0 -32
  663. data/misc/openlayers/lib/OpenLayers/Lang/fr.js +0 -53
  664. data/misc/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  665. data/misc/openlayers/lib/OpenLayers/Lang/gl.js +0 -53
  666. data/misc/openlayers/lib/OpenLayers/Lang/gsw.js +0 -53
  667. data/misc/openlayers/lib/OpenLayers/Lang/hr.js +0 -37
  668. data/misc/openlayers/lib/OpenLayers/Lang/hsb.js +0 -53
  669. data/misc/openlayers/lib/OpenLayers/Lang/hu.js +0 -54
  670. data/misc/openlayers/lib/OpenLayers/Lang/ia.js +0 -53
  671. data/misc/openlayers/lib/OpenLayers/Lang/id.js +0 -54
  672. data/misc/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  673. data/misc/openlayers/lib/OpenLayers/Lang/is.js +0 -27
  674. data/misc/openlayers/lib/OpenLayers/Lang/it.js +0 -80
  675. data/misc/openlayers/lib/OpenLayers/Lang/ja.js +0 -54
  676. data/misc/openlayers/lib/OpenLayers/Lang/km.js +0 -23
  677. data/misc/openlayers/lib/OpenLayers/Lang/ksh.js +0 -53
  678. data/misc/openlayers/lib/OpenLayers/Lang/lt.js +0 -47
  679. data/misc/openlayers/lib/OpenLayers/Lang/nb.js +0 -82
  680. data/misc/openlayers/lib/OpenLayers/Lang/nds.js +0 -37
  681. data/misc/openlayers/lib/OpenLayers/Lang/nl.js +0 -53
  682. data/misc/openlayers/lib/OpenLayers/Lang/nn.js +0 -19
  683. data/misc/openlayers/lib/OpenLayers/Lang/oc.js +0 -53
  684. data/misc/openlayers/lib/OpenLayers/Lang/pl.js +0 -89
  685. data/misc/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -54
  686. data/misc/openlayers/lib/OpenLayers/Lang/pt.js +0 -55
  687. data/misc/openlayers/lib/OpenLayers/Lang/ro.js +0 -69
  688. data/misc/openlayers/lib/OpenLayers/Lang/ru.js +0 -56
  689. data/misc/openlayers/lib/OpenLayers/Lang/sk.js +0 -44
  690. data/misc/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -45
  691. data/misc/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  692. data/misc/openlayers/lib/OpenLayers/Lang/vi.js +0 -53
  693. data/misc/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -80
  694. data/misc/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -81
  695. data/misc/openlayers/lib/OpenLayers/Layer.js +0 -1377
  696. data/misc/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -225
  697. data/misc/openlayers/lib/OpenLayers/Layer/ArcGISCache.js +0 -480
  698. data/misc/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -425
  699. data/misc/openlayers/lib/OpenLayers/Layer/Bing.js +0 -333
  700. data/misc/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  701. data/misc/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -441
  702. data/misc/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -319
  703. data/misc/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -265
  704. data/misc/openlayers/lib/OpenLayers/Layer/Google.js +0 -809
  705. data/misc/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -351
  706. data/misc/openlayers/lib/OpenLayers/Layer/Grid.js +0 -1343
  707. data/misc/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  708. data/misc/openlayers/lib/OpenLayers/Layer/Image.js +0 -259
  709. data/misc/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -192
  710. data/misc/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -143
  711. data/misc/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -443
  712. data/misc/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -181
  713. data/misc/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  714. data/misc/openlayers/lib/OpenLayers/Layer/OSM.js +0 -123
  715. data/misc/openlayers/lib/OpenLayers/Layer/PointGrid.js +0 -299
  716. data/misc/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -125
  717. data/misc/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -146
  718. data/misc/openlayers/lib/OpenLayers/Layer/TMS.js +0 -202
  719. data/misc/openlayers/lib/OpenLayers/Layer/Text.js +0 -267
  720. data/misc/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -140
  721. data/misc/openlayers/lib/OpenLayers/Layer/UTFGrid.js +0 -184
  722. data/misc/openlayers/lib/OpenLayers/Layer/Vector.js +0 -1007
  723. data/misc/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -154
  724. data/misc/openlayers/lib/OpenLayers/Layer/WMS.js +0 -267
  725. data/misc/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -510
  726. data/misc/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -105
  727. data/misc/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -172
  728. data/misc/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -260
  729. data/misc/openlayers/lib/OpenLayers/Map.js +0 -2867
  730. data/misc/openlayers/lib/OpenLayers/Marker.js +0 -241
  731. data/misc/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  732. data/misc/openlayers/lib/OpenLayers/Popup.js +0 -1065
  733. data/misc/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -195
  734. data/misc/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  735. data/misc/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -227
  736. data/misc/openlayers/lib/OpenLayers/Projection.js +0 -322
  737. data/misc/openlayers/lib/OpenLayers/Protocol.js +0 -291
  738. data/misc/openlayers/lib/OpenLayers/Protocol/CSW.js +0 -30
  739. data/misc/openlayers/lib/OpenLayers/Protocol/CSW/v2_0_2.js +0 -127
  740. data/misc/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -580
  741. data/misc/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  742. data/misc/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -133
  743. data/misc/openlayers/lib/OpenLayers/Protocol/Script.js +0 -377
  744. data/misc/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -86
  745. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -453
  746. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  747. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -68
  748. data/misc/openlayers/lib/OpenLayers/Renderer.js +0 -432
  749. data/misc/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -906
  750. data/misc/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1053
  751. data/misc/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -1012
  752. data/misc/openlayers/lib/OpenLayers/Renderer/VML.js +0 -985
  753. data/misc/openlayers/lib/OpenLayers/Request.js +0 -429
  754. data/misc/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -458
  755. data/misc/openlayers/lib/OpenLayers/Rule.js +0 -236
  756. data/misc/openlayers/lib/OpenLayers/SingleFile.js +0 -78
  757. data/misc/openlayers/lib/OpenLayers/Spherical.js +0 -67
  758. data/misc/openlayers/lib/OpenLayers/Strategy.js +0 -121
  759. data/misc/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -290
  760. data/misc/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -283
  761. data/misc/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -159
  762. data/misc/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -135
  763. data/misc/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -233
  764. data/misc/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -141
  765. data/misc/openlayers/lib/OpenLayers/Strategy/Save.js +0 -231
  766. data/misc/openlayers/lib/OpenLayers/Style.js +0 -448
  767. data/misc/openlayers/lib/OpenLayers/Style2.js +0 -112
  768. data/misc/openlayers/lib/OpenLayers/StyleMap.js +0 -161
  769. data/misc/openlayers/lib/OpenLayers/Symbolizer.js +0 -55
  770. data/misc/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -74
  771. data/misc/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -157
  772. data/misc/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -88
  773. data/misc/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  774. data/misc/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -70
  775. data/misc/openlayers/lib/OpenLayers/Tile.js +0 -292
  776. data/misc/openlayers/lib/OpenLayers/Tile/Image.js +0 -510
  777. data/misc/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -233
  778. data/misc/openlayers/lib/OpenLayers/Tile/UTFGrid.js +0 -252
  779. data/misc/openlayers/lib/OpenLayers/TileManager.js +0 -462
  780. data/misc/openlayers/lib/OpenLayers/Tween.js +0 -361
  781. data/misc/openlayers/lib/OpenLayers/Util.js +0 -1773
  782. data/misc/openlayers/lib/OpenLayers/Util/vendorPrefix.js +0 -131
  783. data/misc/openlayers/lib/OpenLayers/WPSClient.js +0 -223
  784. data/misc/openlayers/lib/OpenLayers/WPSProcess.js +0 -501
  785. data/misc/openlayers/lib/Rico/Color.js +0 -253
  786. data/misc/openlayers/lib/Rico/Corner.js +0 -339
  787. data/misc/openlayers/lib/Rico/license.js +0 -19
  788. data/misc/openlayers/lib/deprecated.js +0 -5842
  789. data/misc/openlayers/license.txt +0 -27
  790. data/misc/openlayers/licenses/APACHE-2.0.txt +0 -202
  791. data/misc/openlayers/licenses/BSD-LICENSE.txt +0 -28
  792. data/misc/openlayers/licenses/MIT-LICENSE.txt +0 -18
  793. data/misc/openlayers/notes/2.12.md +0 -391
  794. data/misc/openlayers/notes/2.13.md +0 -159
  795. data/misc/openlayers/readme.md +0 -79
  796. data/misc/openlayers/tests/Animation.html +0 -96
  797. data/misc/openlayers/tests/BaseTypes.html +0 -387
  798. data/misc/openlayers/tests/BaseTypes/Bounds.html +0 -738
  799. data/misc/openlayers/tests/BaseTypes/Class.html +0 -350
  800. data/misc/openlayers/tests/BaseTypes/Date.html +0 -191
  801. data/misc/openlayers/tests/BaseTypes/Element.html +0 -195
  802. data/misc/openlayers/tests/BaseTypes/LonLat.html +0 -241
  803. data/misc/openlayers/tests/BaseTypes/Pixel.html +0 -123
  804. data/misc/openlayers/tests/BaseTypes/Size.html +0 -67
  805. data/misc/openlayers/tests/Console.html +0 -39
  806. data/misc/openlayers/tests/Control.html +0 -107
  807. data/misc/openlayers/tests/Control/ArgParser.html +0 -26
  808. data/misc/openlayers/tests/Control/Attribution.html +0 -60
  809. data/misc/openlayers/tests/Control/Button.html +0 -17
  810. data/misc/openlayers/tests/Control/CacheRead.html +0 -108
  811. data/misc/openlayers/tests/Control/CacheWrite.html +0 -90
  812. data/misc/openlayers/tests/Control/DragFeature.html +0 -383
  813. data/misc/openlayers/tests/Control/DragPan.html +0 -104
  814. data/misc/openlayers/tests/Control/DrawFeature.html +0 -160
  815. data/misc/openlayers/tests/Control/EditingToolbar.html +0 -33
  816. data/misc/openlayers/tests/Control/Geolocate.html +0 -129
  817. data/misc/openlayers/tests/Control/GetFeature.html +0 -177
  818. data/misc/openlayers/tests/Control/Graticule.html +0 -66
  819. data/misc/openlayers/tests/Control/KeyboardDefaults.html +0 -173
  820. data/misc/openlayers/tests/Control/LayerSwitcher.html +0 -249
  821. data/misc/openlayers/tests/Control/Measure.html +0 -386
  822. data/misc/openlayers/tests/Control/ModifyFeature.html +0 -828
  823. data/misc/openlayers/tests/Control/MousePosition.html +0 -109
  824. data/misc/openlayers/tests/Control/NavToolbar.html +0 -45
  825. data/misc/openlayers/tests/Control/Navigation.html +0 -200
  826. data/misc/openlayers/tests/Control/NavigationHistory.html +0 -245
  827. data/misc/openlayers/tests/Control/OverviewMap.html +0 -266
  828. data/misc/openlayers/tests/Control/Pan.html +0 -201
  829. data/misc/openlayers/tests/Control/PanPanel.html +0 -61
  830. data/misc/openlayers/tests/Control/PanZoom.html +0 -244
  831. data/misc/openlayers/tests/Control/PanZoomBar.html +0 -245
  832. data/misc/openlayers/tests/Control/Panel.html +0 -382
  833. data/misc/openlayers/tests/Control/Permalink.html +0 -453
  834. data/misc/openlayers/tests/Control/PinchZoom.html +0 -134
  835. data/misc/openlayers/tests/Control/SLDSelect.html +0 -239
  836. data/misc/openlayers/tests/Control/Scale.html +0 -54
  837. data/misc/openlayers/tests/Control/ScaleLine.html +0 -187
  838. data/misc/openlayers/tests/Control/SelectFeature.html +0 -632
  839. data/misc/openlayers/tests/Control/Snapping.html +0 -448
  840. data/misc/openlayers/tests/Control/Split.html +0 -319
  841. data/misc/openlayers/tests/Control/TouchNavigation.html +0 -155
  842. data/misc/openlayers/tests/Control/TransformFeature.html +0 -129
  843. data/misc/openlayers/tests/Control/UTFGrid.html +0 -120
  844. data/misc/openlayers/tests/Control/WMSGetFeatureInfo.html +0 -644
  845. data/misc/openlayers/tests/Control/WMTSGetFeatureInfo.html +0 -334
  846. data/misc/openlayers/tests/Control/Zoom.html +0 -83
  847. data/misc/openlayers/tests/Control/ZoomBox.html +0 -54
  848. data/misc/openlayers/tests/Control/ZoomIn.html +0 -101
  849. data/misc/openlayers/tests/Control/ZoomOut.html +0 -100
  850. data/misc/openlayers/tests/Control/ZoomToMaxExtent.html +0 -102
  851. data/misc/openlayers/tests/Events.html +0 -487
  852. data/misc/openlayers/tests/Events/buttonclick.html +0 -214
  853. data/misc/openlayers/tests/Events/featureclick.html +0 -91
  854. data/misc/openlayers/tests/Extras.html +0 -21
  855. data/misc/openlayers/tests/Feature.html +0 -205
  856. data/misc/openlayers/tests/Feature/Vector.html +0 -170
  857. data/misc/openlayers/tests/Filter.html +0 -31
  858. data/misc/openlayers/tests/Filter/Comparison.html +0 -373
  859. data/misc/openlayers/tests/Filter/FeatureId.html +0 -67
  860. data/misc/openlayers/tests/Filter/Logical.html +0 -144
  861. data/misc/openlayers/tests/Filter/Spatial.html +0 -112
  862. data/misc/openlayers/tests/Format.html +0 -23
  863. data/misc/openlayers/tests/Format/ArcXML.html +0 -277
  864. data/misc/openlayers/tests/Format/ArcXML/Features.html +0 -69
  865. data/misc/openlayers/tests/Format/Atom.html +0 -450
  866. data/misc/openlayers/tests/Format/CQL.html +0 -364
  867. data/misc/openlayers/tests/Format/CSWGetDomain.html +0 -23
  868. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.html +0 -56
  869. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.js +0 -18
  870. data/misc/openlayers/tests/Format/CSWGetRecords.html +0 -23
  871. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.html +0 -88
  872. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.js +0 -50
  873. data/misc/openlayers/tests/Format/EncodedPolyline.html +0 -372
  874. data/misc/openlayers/tests/Format/Filter.html +0 -21
  875. data/misc/openlayers/tests/Format/Filter/v1.html +0 -404
  876. data/misc/openlayers/tests/Format/Filter/v1_0_0.html +0 -295
  877. data/misc/openlayers/tests/Format/Filter/v1_1_0.html +0 -402
  878. data/misc/openlayers/tests/Format/GML.html +0 -462
  879. data/misc/openlayers/tests/Format/GML/cases.js +0 -232
  880. data/misc/openlayers/tests/Format/GML/v2.html +0 -684
  881. data/misc/openlayers/tests/Format/GML/v3.html +0 -828
  882. data/misc/openlayers/tests/Format/GPX.html +0 -179
  883. data/misc/openlayers/tests/Format/GeoJSON.html +0 -468
  884. data/misc/openlayers/tests/Format/GeoRSS.html +0 -122
  885. data/misc/openlayers/tests/Format/JSON.html +0 -53
  886. data/misc/openlayers/tests/Format/KML.html +0 -1437
  887. data/misc/openlayers/tests/Format/OGCExceptionReport.html +0 -100
  888. data/misc/openlayers/tests/Format/OSM.html +0 -115
  889. data/misc/openlayers/tests/Format/OWSCommon/v1_0_0.html +0 -34
  890. data/misc/openlayers/tests/Format/OWSCommon/v1_1_0.html +0 -34
  891. data/misc/openlayers/tests/Format/OWSContext/v0_3_1.html +0 -278
  892. data/misc/openlayers/tests/Format/QueryStringFilter.html +0 -306
  893. data/misc/openlayers/tests/Format/SLD.html +0 -36
  894. data/misc/openlayers/tests/Format/SLD/v1_0_0.html +0 -1028
  895. data/misc/openlayers/tests/Format/SLD/v1_0_0_GeoServer.html +0 -228
  896. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.html +0 -80
  897. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.js +0 -484
  898. data/misc/openlayers/tests/Format/SOSGetFeatureOfInterest.html +0 -80
  899. data/misc/openlayers/tests/Format/SOSGetObservation.html +0 -183
  900. data/misc/openlayers/tests/Format/Text.html +0 -49
  901. data/misc/openlayers/tests/Format/WCSCapabilities.html +0 -43
  902. data/misc/openlayers/tests/Format/WCSCapabilities/v1.html +0 -87
  903. data/misc/openlayers/tests/Format/WCSGetCoverage.html +0 -80
  904. data/misc/openlayers/tests/Format/WFS.html +0 -81
  905. data/misc/openlayers/tests/Format/WFSCapabilities.html +0 -43
  906. data/misc/openlayers/tests/Format/WFSCapabilities/v1.html +0 -179
  907. data/misc/openlayers/tests/Format/WFSDescribeFeatureType.html +0 -436
  908. data/misc/openlayers/tests/Format/WFST.html +0 -23
  909. data/misc/openlayers/tests/Format/WFST/v1.html +0 -455
  910. data/misc/openlayers/tests/Format/WFST/v1_0_0.html +0 -135
  911. data/misc/openlayers/tests/Format/WFST/v1_1_0.html +0 -236
  912. data/misc/openlayers/tests/Format/WKT.html +0 -297
  913. data/misc/openlayers/tests/Format/WMC.html +0 -315
  914. data/misc/openlayers/tests/Format/WMC/v1.html +0 -266
  915. data/misc/openlayers/tests/Format/WMC/v1_1_0.html +0 -86
  916. data/misc/openlayers/tests/Format/WMSCapabilities.html +0 -20
  917. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1.html +0 -5209
  918. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1_WMSC.html +0 -348
  919. data/misc/openlayers/tests/Format/WMSCapabilities/v1_3_0.html +0 -614
  920. data/misc/openlayers/tests/Format/WMSDescribeLayer.html +0 -65
  921. data/misc/openlayers/tests/Format/WMSGetFeatureInfo.html +0 -319
  922. data/misc/openlayers/tests/Format/WMTSCapabilities.html +0 -20
  923. data/misc/openlayers/tests/Format/WMTSCapabilities/v1_0_0.html +0 -1042
  924. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.html +0 -30
  925. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.js +0 -112
  926. data/misc/openlayers/tests/Format/WPSDescribeProcess.html +0 -206
  927. data/misc/openlayers/tests/Format/WPSExecute.html +0 -549
  928. data/misc/openlayers/tests/Format/XLS/v1_1_0.html +0 -98
  929. data/misc/openlayers/tests/Format/XML.html +0 -900
  930. data/misc/openlayers/tests/Format/XML/VersionedOGC.html +0 -51
  931. data/misc/openlayers/tests/Geometry.html +0 -356
  932. data/misc/openlayers/tests/Geometry/Collection.html +0 -431
  933. data/misc/openlayers/tests/Geometry/Curve.html +0 -157
  934. data/misc/openlayers/tests/Geometry/LineString.html +0 -443
  935. data/misc/openlayers/tests/Geometry/LinearRing.html +0 -362
  936. data/misc/openlayers/tests/Geometry/MultiLineString.html +0 -267
  937. data/misc/openlayers/tests/Geometry/MultiPoint.html +0 -130
  938. data/misc/openlayers/tests/Geometry/MultiPolygon.html +0 -34
  939. data/misc/openlayers/tests/Geometry/Point.html +0 -244
  940. data/misc/openlayers/tests/Geometry/Polygon.html +0 -420
  941. data/misc/openlayers/tests/Handler.html +0 -265
  942. data/misc/openlayers/tests/Handler/Box.html +0 -106
  943. data/misc/openlayers/tests/Handler/Click.html +0 -735
  944. data/misc/openlayers/tests/Handler/Drag.html +0 -603
  945. data/misc/openlayers/tests/Handler/Feature.html +0 -698
  946. data/misc/openlayers/tests/Handler/Hover.html +0 -136
  947. data/misc/openlayers/tests/Handler/Keyboard.html +0 -150
  948. data/misc/openlayers/tests/Handler/MouseWheel.html +0 -182
  949. data/misc/openlayers/tests/Handler/Path.html +0 -1464
  950. data/misc/openlayers/tests/Handler/Pinch.html +0 -285
  951. data/misc/openlayers/tests/Handler/Point.html +0 -600
  952. data/misc/openlayers/tests/Handler/Polygon.html +0 -1161
  953. data/misc/openlayers/tests/Handler/RegularPolygon.html +0 -235
  954. data/misc/openlayers/tests/Icon.html +0 -68
  955. data/misc/openlayers/tests/Kinetic.html +0 -132
  956. data/misc/openlayers/tests/Lang.html +0 -106
  957. data/misc/openlayers/tests/Layer.html +0 -910
  958. data/misc/openlayers/tests/Layer/ArcGIS93Rest.html +0 -324
  959. data/misc/openlayers/tests/Layer/ArcGISCache.html +0 -256
  960. data/misc/openlayers/tests/Layer/ArcGISCache.json +0 -334
  961. data/misc/openlayers/tests/Layer/ArcIMS.html +0 -123
  962. data/misc/openlayers/tests/Layer/Bing.html +0 -200
  963. data/misc/openlayers/tests/Layer/EventPane.html +0 -172
  964. data/misc/openlayers/tests/Layer/FixedZoomLevels.html +0 -137
  965. data/misc/openlayers/tests/Layer/GeoRSS.html +0 -210
  966. data/misc/openlayers/tests/Layer/Google.html +0 -369
  967. data/misc/openlayers/tests/Layer/Google/v3.html +0 -337
  968. data/misc/openlayers/tests/Layer/Grid.html +0 -1593
  969. data/misc/openlayers/tests/Layer/HTTPRequest.html +0 -229
  970. data/misc/openlayers/tests/Layer/Image.html +0 -164
  971. data/misc/openlayers/tests/Layer/KaMap.html +0 -287
  972. data/misc/openlayers/tests/Layer/MapGuide.html +0 -177
  973. data/misc/openlayers/tests/Layer/MapServer.html +0 -238
  974. data/misc/openlayers/tests/Layer/Markers.html +0 -156
  975. data/misc/openlayers/tests/Layer/OSM.html +0 -16
  976. data/misc/openlayers/tests/Layer/PointGrid.html +0 -232
  977. data/misc/openlayers/tests/Layer/PointTrack.html +0 -79
  978. data/misc/openlayers/tests/Layer/SphericalMercator.html +0 -126
  979. data/misc/openlayers/tests/Layer/TMS.html +0 -262
  980. data/misc/openlayers/tests/Layer/Text.html +0 -211
  981. data/misc/openlayers/tests/Layer/TileCache.html +0 -203
  982. data/misc/openlayers/tests/Layer/UTFGrid.html +0 -131
  983. data/misc/openlayers/tests/Layer/Vector.html +0 -879
  984. data/misc/openlayers/tests/Layer/Vector/RootContainer.html +0 -63
  985. data/misc/openlayers/tests/Layer/WMS.html +0 -583
  986. data/misc/openlayers/tests/Layer/WMTS.html +0 -1491
  987. data/misc/openlayers/tests/Layer/WrapDateLine.html +0 -188
  988. data/misc/openlayers/tests/Layer/XYZ.html +0 -266
  989. data/misc/openlayers/tests/Layer/atom-1.0.xml +0 -34
  990. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile.txt +0 -3
  991. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_2.txt +0 -3
  992. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_overflow.txt +0 -3
  993. data/misc/openlayers/tests/Layer/georss.txt +0 -378
  994. data/misc/openlayers/tests/Map.html +0 -2255
  995. data/misc/openlayers/tests/Marker.html +0 -163
  996. data/misc/openlayers/tests/Marker/Box.html +0 -183
  997. data/misc/openlayers/tests/OLLoader.js +0 -26
  998. data/misc/openlayers/tests/OpenLayers1.html +0 -18
  999. data/misc/openlayers/tests/OpenLayers2.html +0 -19
  1000. data/misc/openlayers/tests/OpenLayers3.html +0 -19
  1001. data/misc/openlayers/tests/OpenLayers4.html +0 -18
  1002. data/misc/openlayers/tests/OpenLayersJsFiles.html +0 -27
  1003. data/misc/openlayers/tests/Popup.html +0 -219
  1004. data/misc/openlayers/tests/Popup/Anchored.html +0 -37
  1005. data/misc/openlayers/tests/Popup/FramedCloud.html +0 -18
  1006. data/misc/openlayers/tests/Projection.html +0 -87
  1007. data/misc/openlayers/tests/Protocol.html +0 -63
  1008. data/misc/openlayers/tests/Protocol/CSW.html +0 -90
  1009. data/misc/openlayers/tests/Protocol/HTTP.html +0 -842
  1010. data/misc/openlayers/tests/Protocol/SOS.html +0 -57
  1011. data/misc/openlayers/tests/Protocol/Script.html +0 -282
  1012. data/misc/openlayers/tests/Protocol/WFS.html +0 -471
  1013. data/misc/openlayers/tests/README.txt +0 -16
  1014. data/misc/openlayers/tests/Renderer.html +0 -96
  1015. data/misc/openlayers/tests/Renderer/Canvas.html +0 -501
  1016. data/misc/openlayers/tests/Renderer/Elements.html +0 -651
  1017. data/misc/openlayers/tests/Renderer/SVG.html +0 -441
  1018. data/misc/openlayers/tests/Renderer/VML.html +0 -454
  1019. data/misc/openlayers/tests/Request.html +0 -524
  1020. data/misc/openlayers/tests/Request/XMLHttpRequest.html +0 -59
  1021. data/misc/openlayers/tests/Rule.html +0 -123
  1022. data/misc/openlayers/tests/SingleFile1.html +0 -15
  1023. data/misc/openlayers/tests/SingleFile2.html +0 -15
  1024. data/misc/openlayers/tests/SingleFile3.html +0 -15
  1025. data/misc/openlayers/tests/Strategy.html +0 -94
  1026. data/misc/openlayers/tests/Strategy/BBOX.html +0 -361
  1027. data/misc/openlayers/tests/Strategy/Cluster.html +0 -148
  1028. data/misc/openlayers/tests/Strategy/Filter.html +0 -135
  1029. data/misc/openlayers/tests/Strategy/Fixed.html +0 -253
  1030. data/misc/openlayers/tests/Strategy/Paging.html +0 -113
  1031. data/misc/openlayers/tests/Strategy/Refresh.html +0 -177
  1032. data/misc/openlayers/tests/Strategy/Save.html +0 -127
  1033. data/misc/openlayers/tests/Style.html +0 -426
  1034. data/misc/openlayers/tests/Style2.html +0 -56
  1035. data/misc/openlayers/tests/StyleMap.html +0 -44
  1036. data/misc/openlayers/tests/Symbolizer.html +0 -31
  1037. data/misc/openlayers/tests/Symbolizer/Line.html +0 -42
  1038. data/misc/openlayers/tests/Symbolizer/Point.html +0 -52
  1039. data/misc/openlayers/tests/Symbolizer/Polygon.html +0 -44
  1040. data/misc/openlayers/tests/Symbolizer/Raster.html +0 -32
  1041. data/misc/openlayers/tests/Symbolizer/Text.html +0 -42
  1042. data/misc/openlayers/tests/Test.AnotherWay.baseadditions.js +0 -191
  1043. data/misc/openlayers/tests/Test.AnotherWay.css +0 -243
  1044. data/misc/openlayers/tests/Test.AnotherWay.geom_eq.js +0 -139
  1045. data/misc/openlayers/tests/Test.AnotherWay.js +0 -2498
  1046. data/misc/openlayers/tests/Test.AnotherWay.xml_eq.js +0 -311
  1047. data/misc/openlayers/tests/Tile.html +0 -130
  1048. data/misc/openlayers/tests/Tile/Image.html +0 -490
  1049. data/misc/openlayers/tests/Tile/Image/IFrame.html +0 -183
  1050. data/misc/openlayers/tests/Tile/UTFGrid.html +0 -306
  1051. data/misc/openlayers/tests/TileManager.html +0 -137
  1052. data/misc/openlayers/tests/Tween.html +0 -116
  1053. data/misc/openlayers/tests/Util.html +0 -1180
  1054. data/misc/openlayers/tests/Util/vendorPrefix.html +0 -117
  1055. data/misc/openlayers/tests/Util_common.js +0 -64
  1056. data/misc/openlayers/tests/Util_w3c.html +0 -35
  1057. data/misc/openlayers/tests/WPSClient.html +0 -108
  1058. data/misc/openlayers/tests/WPSProcess.html +0 -188
  1059. data/misc/openlayers/tests/atom-1.0.xml +0 -34
  1060. data/misc/openlayers/tests/auto-tests.html +0 -2447
  1061. data/misc/openlayers/tests/data/geos_wkt_intersects.js +0 -495
  1062. data/misc/openlayers/tests/data/osm.js +0 -14
  1063. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  1064. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  1065. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  1066. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  1067. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  1068. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  1069. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  1070. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  1071. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  1072. data/misc/openlayers/tests/data/utfgrid/demo-1.1.json +0 -1
  1073. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/0.json +0 -1
  1074. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/1.json +0 -1
  1075. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/2.json +0 -1
  1076. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/0.json +0 -1
  1077. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/1.json +0 -1
  1078. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/2.json +0 -1
  1079. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/0.json +0 -1
  1080. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/1.json +0 -1
  1081. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/2.json +0 -1
  1082. data/misc/openlayers/tests/data_Layer_Text_textfile.txt +0 -3
  1083. data/misc/openlayers/tests/data_Layer_Text_textfile_2.txt +0 -3
  1084. data/misc/openlayers/tests/data_Layer_Text_textfile_overflow.txt +0 -3
  1085. data/misc/openlayers/tests/deprecated/Ajax.html +0 -28
  1086. data/misc/openlayers/tests/deprecated/BaseTypes/Class.html +0 -142
  1087. data/misc/openlayers/tests/deprecated/BaseTypes/Element.html +0 -56
  1088. data/misc/openlayers/tests/deprecated/Control/MouseToolbar.html +0 -60
  1089. data/misc/openlayers/tests/deprecated/Geometry/Rectangle.html +0 -77
  1090. data/misc/openlayers/tests/deprecated/Layer/GML.html +0 -61
  1091. data/misc/openlayers/tests/deprecated/Layer/MapServer.html +0 -59
  1092. data/misc/openlayers/tests/deprecated/Layer/MapServer/Untiled.html +0 -158
  1093. data/misc/openlayers/tests/deprecated/Layer/WFS.html +0 -178
  1094. data/misc/openlayers/tests/deprecated/Layer/WMS.html +0 -60
  1095. data/misc/openlayers/tests/deprecated/Layer/WMS/Post.html +0 -89
  1096. data/misc/openlayers/tests/deprecated/Layer/Yahoo.html +0 -121
  1097. data/misc/openlayers/tests/deprecated/Layer/mice.xml +0 -156
  1098. data/misc/openlayers/tests/deprecated/Layer/owls.xml +0 -156
  1099. data/misc/openlayers/tests/deprecated/Popup/AnchoredBubble.html +0 -61
  1100. data/misc/openlayers/tests/deprecated/Protocol/SQL.html +0 -24
  1101. data/misc/openlayers/tests/deprecated/Protocol/SQL/Gears.html +0 -474
  1102. data/misc/openlayers/tests/deprecated/Renderer/SVG2.html +0 -399
  1103. data/misc/openlayers/tests/deprecated/Tile/WFS.html +0 -215
  1104. data/misc/openlayers/tests/deprecated/Util.html +0 -20
  1105. data/misc/openlayers/tests/georss.txt +0 -378
  1106. data/misc/openlayers/tests/grid_inittiles.html +0 -30
  1107. data/misc/openlayers/tests/index.html +0 -6
  1108. data/misc/openlayers/tests/list-tests.html +0 -260
  1109. data/misc/openlayers/tests/manual/ajax.html +0 -49
  1110. data/misc/openlayers/tests/manual/ajax.txt +0 -1
  1111. data/misc/openlayers/tests/manual/alloverlays-mixed.html +0 -55
  1112. data/misc/openlayers/tests/manual/arcims-2117.html +0 -103
  1113. data/misc/openlayers/tests/manual/arkansas.rss +0 -9
  1114. data/misc/openlayers/tests/manual/big-georss.html +0 -33
  1115. data/misc/openlayers/tests/manual/box-quirks.html +0 -52
  1116. data/misc/openlayers/tests/manual/box-strict.html +0 -46
  1117. data/misc/openlayers/tests/manual/clip-features-svg.html +0 -128
  1118. data/misc/openlayers/tests/manual/dateline-sketch.html +0 -66
  1119. data/misc/openlayers/tests/manual/dateline-smallextent.html +0 -61
  1120. data/misc/openlayers/tests/manual/draw-feature.html +0 -73
  1121. data/misc/openlayers/tests/manual/feature-handler.html +0 -126
  1122. data/misc/openlayers/tests/manual/geodesic.html +0 -160
  1123. data/misc/openlayers/tests/manual/geojson-geomcoll-reprojection.html +0 -74
  1124. data/misc/openlayers/tests/manual/google-fullscreen-overlay.html +0 -54
  1125. data/misc/openlayers/tests/manual/google-panning.html +0 -122
  1126. data/misc/openlayers/tests/manual/google-resize.html +0 -55
  1127. data/misc/openlayers/tests/manual/google-tilt.html +0 -37
  1128. data/misc/openlayers/tests/manual/google-v3-resize.html +0 -54
  1129. data/misc/openlayers/tests/manual/loadend.html +0 -73
  1130. data/misc/openlayers/tests/manual/map-events.html +0 -38
  1131. data/misc/openlayers/tests/manual/memory/Marker-2258.html +0 -60
  1132. data/misc/openlayers/tests/manual/memory/PanZoom-2323.html +0 -41
  1133. data/misc/openlayers/tests/manual/memory/RemoveChild-2170.html +0 -56
  1134. data/misc/openlayers/tests/manual/memory/VML-2170.html +0 -49
  1135. data/misc/openlayers/tests/manual/multiple-google-layers.html +0 -135
  1136. data/misc/openlayers/tests/manual/overviewmap-projection.html +0 -70
  1137. data/misc/openlayers/tests/manual/page-position.html +0 -103
  1138. data/misc/openlayers/tests/manual/pan-redraw-svg.html +0 -58
  1139. data/misc/openlayers/tests/manual/popup-keepInMap.html +0 -100
  1140. data/misc/openlayers/tests/manual/reflow.html +0 -59
  1141. data/misc/openlayers/tests/manual/renderedDimensions.html +0 -113
  1142. data/misc/openlayers/tests/manual/select-feature-right-click.html +0 -86
  1143. data/misc/openlayers/tests/manual/select-feature.html +0 -75
  1144. data/misc/openlayers/tests/manual/tiles-loading.html +0 -122
  1145. data/misc/openlayers/tests/manual/tween.html +0 -82
  1146. data/misc/openlayers/tests/manual/vector-features-performance.html +0 -149
  1147. data/misc/openlayers/tests/manual/vector-layer-zindex.html +0 -143
  1148. data/misc/openlayers/tests/mice.xml +0 -156
  1149. data/misc/openlayers/tests/node.js/mockdom.js +0 -104
  1150. data/misc/openlayers/tests/node.js/node-tests.cfg +0 -12
  1151. data/misc/openlayers/tests/node.js/node.js +0 -1
  1152. data/misc/openlayers/tests/node.js/run-test.js +0 -26
  1153. data/misc/openlayers/tests/node.js/run.sh +0 -10
  1154. data/misc/openlayers/tests/owls.xml +0 -156
  1155. data/misc/openlayers/tests/run-tests.html +0 -155
  1156. data/misc/openlayers/tests/selenium/remotecontrol/config.cfg +0 -48
  1157. data/misc/openlayers/tests/selenium/remotecontrol/selenium.py +0 -1846
  1158. data/misc/openlayers/tests/selenium/remotecontrol/setup.txt +0 -8
  1159. data/misc/openlayers/tests/selenium/remotecontrol/test_ol.py +0 -95
  1160. data/misc/openlayers/tests/speed/geometry.html +0 -43
  1161. data/misc/openlayers/tests/speed/string_format.html +0 -29
  1162. data/misc/openlayers/tests/speed/vector-renderers.html +0 -25
  1163. data/misc/openlayers/tests/speed/vector-renderers.js +0 -70
  1164. data/misc/openlayers/tests/speed/wmc_speed.html +0 -30
  1165. data/misc/openlayers/tests/speed/wmscaps.html +0 -52
  1166. data/misc/openlayers/tests/speed/wmscaps.js +0 -4956
  1167. data/misc/openlayers/tests/speed/wmscaps.xml +0 -4954
  1168. data/misc/openlayers/tests/throws.js +0 -82
  1169. data/misc/openlayers/theme/default/google.css +0 -9
  1170. data/misc/openlayers/theme/default/google.tidy.css +0 -1
  1171. data/misc/openlayers/theme/default/ie6-style.css +0 -10
  1172. data/misc/openlayers/theme/default/ie6-style.tidy.css +0 -1
  1173. data/misc/openlayers/theme/default/img/add_point_off.png +0 -0
  1174. data/misc/openlayers/theme/default/img/add_point_on.png +0 -0
  1175. data/misc/openlayers/theme/default/img/blank.gif +0 -0
  1176. data/misc/openlayers/theme/default/img/close.gif +0 -0
  1177. data/misc/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  1178. data/misc/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  1179. data/misc/openlayers/theme/default/img/draw_line_off.png +0 -0
  1180. data/misc/openlayers/theme/default/img/draw_line_on.png +0 -0
  1181. data/misc/openlayers/theme/default/img/draw_point_off.png +0 -0
  1182. data/misc/openlayers/theme/default/img/draw_point_on.png +0 -0
  1183. data/misc/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  1184. data/misc/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  1185. data/misc/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  1186. data/misc/openlayers/theme/default/img/move_feature_off.png +0 -0
  1187. data/misc/openlayers/theme/default/img/move_feature_on.png +0 -0
  1188. data/misc/openlayers/theme/default/img/navigation_history.png +0 -0
  1189. data/misc/openlayers/theme/default/img/overview_replacement.gif +0 -0
  1190. data/misc/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  1191. data/misc/openlayers/theme/default/img/pan-panel.png +0 -0
  1192. data/misc/openlayers/theme/default/img/pan_off.png +0 -0
  1193. data/misc/openlayers/theme/default/img/pan_on.png +0 -0
  1194. data/misc/openlayers/theme/default/img/panning-hand-off.png +0 -0
  1195. data/misc/openlayers/theme/default/img/panning-hand-on.png +0 -0
  1196. data/misc/openlayers/theme/default/img/remove_point_off.png +0 -0
  1197. data/misc/openlayers/theme/default/img/remove_point_on.png +0 -0
  1198. data/misc/openlayers/theme/default/img/ruler.png +0 -0
  1199. data/misc/openlayers/theme/default/img/save_features_off.png +0 -0
  1200. data/misc/openlayers/theme/default/img/save_features_on.png +0 -0
  1201. data/misc/openlayers/theme/default/img/view_next_off.png +0 -0
  1202. data/misc/openlayers/theme/default/img/view_next_on.png +0 -0
  1203. data/misc/openlayers/theme/default/img/view_previous_off.png +0 -0
  1204. data/misc/openlayers/theme/default/img/view_previous_on.png +0 -0
  1205. data/misc/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  1206. data/misc/openlayers/theme/default/img/zoom-panel.png +0 -0
  1207. data/misc/openlayers/theme/default/style.css +0 -516
  1208. data/misc/openlayers/theme/default/style.mobile.css +0 -70
  1209. data/misc/openlayers/theme/default/style.mobile.tidy.css +0 -1
  1210. data/misc/openlayers/theme/default/style.tidy.css +0 -1
  1211. data/misc/openlayers/tools/BeautifulSoup.py +0 -1767
  1212. data/misc/openlayers/tools/README.txt +0 -14
  1213. data/misc/openlayers/tools/closure_library_jscompiler.py +0 -71
  1214. data/misc/openlayers/tools/closure_ws.py +0 -28
  1215. data/misc/openlayers/tools/exampleparser.py +0 -251
  1216. data/misc/openlayers/tools/jsmin.c +0 -272
  1217. data/misc/openlayers/tools/jsmin.py +0 -216
  1218. data/misc/openlayers/tools/mergejs.py +0 -287
  1219. data/misc/openlayers/tools/minimize.py +0 -47
  1220. data/misc/openlayers/tools/oldot.py +0 -43
  1221. data/misc/openlayers/tools/release.sh +0 -71
  1222. data/misc/openlayers/tools/shrinksafe.py +0 -54
  1223. data/misc/openlayers/tools/toposort.py +0 -35
  1224. data/misc/openlayers/tools/uglify_js.py +0 -35
  1225. data/misc/openlayers/tools/update_dev_dir.sh +0 -103
@@ -1,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>