leaflet-js 0.7.0.4 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +10 -3
  3. data/Rakefile +3 -3
  4. data/leaflet-js.gemspec +13 -7
  5. data/lib/leaflet-js.rb +2 -10
  6. data/lib/leaflet-js/engine.rb +7 -0
  7. data/lib/leaflet-js/version.rb +3 -0
  8. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/dist/images/spritesheet-2x.png +0 -0
  9. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/dist/images/spritesheet.png +0 -0
  10. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/Control.Draw.js +21 -19
  11. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/Leaflet.draw.js +8 -3
  12. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/Toolbar.js +75 -14
  13. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/Tooltip.js +0 -0
  14. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/copyright.js +0 -0
  15. data/vendor/assets/Leaflet.draw/src/draw/DrawToolbar.js +87 -0
  16. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Circle.js +2 -3
  17. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Feature.js +4 -4
  18. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Marker.js +0 -0
  19. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Polygon.js +9 -7
  20. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Polyline.js +86 -36
  21. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.Rectangle.js +19 -1
  22. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/draw/handler/Draw.SimpleShape.js +18 -4
  23. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/EditToolbar.js +34 -43
  24. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/Edit.Circle.js +0 -0
  25. data/vendor/assets/Leaflet.draw/src/edit/handler/Edit.Marker.js +75 -0
  26. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/Edit.Poly.js +16 -2
  27. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/Edit.Rectangle.js +3 -3
  28. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/Edit.SimpleShape.js +13 -3
  29. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/EditToolbar.Delete.js +11 -7
  30. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/edit/handler/EditToolbar.Edit.js +26 -94
  31. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/ext/GeometryUtil.js +3 -3
  32. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/ext/LatLngUtil.js +0 -0
  33. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/ext/LineUtil.Intersect.js +0 -0
  34. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/ext/Polygon.Intersect.js +0 -0
  35. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/ext/Polyline.Intersect.js +3 -3
  36. data/{lib/leaflet.draw → vendor/assets/Leaflet.draw}/src/images/spritesheet.svg +0 -0
  37. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/BaseMarkerMethods.js +0 -0
  38. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/CircleMarker.Label.js +0 -0
  39. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/FeatureGroup.Label.js +0 -0
  40. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/Label.js +5 -2
  41. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/Leaflet.label.js +1 -1
  42. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/Map.Label.js +0 -0
  43. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/Marker.Label.js +0 -0
  44. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/Path.Label.js +0 -0
  45. data/{lib/leaflet.label → vendor/assets/Leaflet.label}/src/copyright.js +0 -0
  46. data/{lib/leaflet.draw/examples/libs → vendor/assets/Leaflet/dist}/images/layers-2x.png +0 -0
  47. data/{lib/leaflet.draw/examples/libs → vendor/assets/Leaflet/dist}/images/layers.png +0 -0
  48. data/{lib/leaflet.draw/examples/libs → vendor/assets/Leaflet/dist}/images/marker-icon-2x.png +0 -0
  49. data/{lib/leaflet.draw/examples/libs → vendor/assets/Leaflet/dist}/images/marker-icon.png +0 -0
  50. data/{lib/leaflet.draw/examples/libs → vendor/assets/Leaflet/dist}/images/marker-shadow.png +0 -0
  51. data/{lib/leaflet → vendor/assets/Leaflet}/src/Leaflet.js +1 -1
  52. data/{lib/leaflet → vendor/assets/Leaflet}/src/control/Control.Attribution.js +0 -0
  53. data/{lib/leaflet → vendor/assets/Leaflet}/src/control/Control.Layers.js +2 -2
  54. data/{lib/leaflet → vendor/assets/Leaflet}/src/control/Control.Scale.js +0 -0
  55. data/{lib/leaflet → vendor/assets/Leaflet}/src/control/Control.Zoom.js +0 -0
  56. data/{lib/leaflet → vendor/assets/Leaflet}/src/control/Control.js +0 -0
  57. data/{lib/leaflet → vendor/assets/Leaflet}/src/copyright.js +0 -0
  58. data/{lib/leaflet → vendor/assets/Leaflet}/src/core/Browser.js +5 -36
  59. data/{lib/leaflet → vendor/assets/Leaflet}/src/core/Class.js +0 -0
  60. data/{lib/leaflet → vendor/assets/Leaflet}/src/core/Events.js +0 -0
  61. data/{lib/leaflet → vendor/assets/Leaflet}/src/core/Handler.js +0 -0
  62. data/{lib/leaflet → vendor/assets/Leaflet}/src/core/Util.js +9 -14
  63. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/DomEvent.DoubleTap.js +0 -0
  64. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/DomEvent.Pointer.js +3 -2
  65. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/DomEvent.js +7 -18
  66. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/DomUtil.js +0 -5
  67. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/Draggable.js +10 -4
  68. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/PosAnimation.Timer.js +0 -0
  69. data/{lib/leaflet → vendor/assets/Leaflet}/src/dom/PosAnimation.js +0 -0
  70. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/LatLng.js +0 -0
  71. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/LatLngBounds.js +0 -0
  72. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/crs/CRS.EPSG3395.js +0 -0
  73. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/crs/CRS.EPSG3857.js +0 -0
  74. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/crs/CRS.EPSG4326.js +0 -0
  75. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/crs/CRS.Simple.js +0 -0
  76. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/crs/CRS.js +0 -0
  77. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/projection/Projection.LonLat.js +0 -0
  78. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/projection/Projection.Mercator.js +0 -0
  79. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/projection/Projection.SphericalMercator.js +0 -0
  80. data/{lib/leaflet → vendor/assets/Leaflet}/src/geo/projection/Projection.js +0 -0
  81. data/{lib/leaflet → vendor/assets/Leaflet}/src/geometry/Bounds.js +0 -0
  82. data/{lib/leaflet → vendor/assets/Leaflet}/src/geometry/LineUtil.js +1 -1
  83. data/{lib/leaflet → vendor/assets/Leaflet}/src/geometry/Point.js +0 -0
  84. data/{lib/leaflet → vendor/assets/Leaflet}/src/geometry/PolyUtil.js +0 -0
  85. data/{lib/leaflet → vendor/assets/Leaflet}/src/geometry/Transformation.js +0 -0
  86. data/{lib/leaflet → vendor/assets/Leaflet}/src/images/layers.svg +0 -0
  87. data/{lib/leaflet → vendor/assets/Leaflet}/src/images/marker.svg +0 -0
  88. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/FeatureGroup.js +5 -3
  89. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/GeoJSON.js +0 -0
  90. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/ImageOverlay.js +0 -0
  91. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/LayerGroup.js +0 -0
  92. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/Popup.js +0 -0
  93. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/DivIcon.js +0 -0
  94. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/Icon.Default.js +0 -0
  95. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/Icon.js +0 -0
  96. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/Marker.Drag.js +0 -0
  97. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/Marker.Popup.js +1 -0
  98. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/marker/Marker.js +2 -4
  99. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/tile/TileLayer.Anim.js +5 -0
  100. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/tile/TileLayer.Canvas.js +0 -0
  101. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/tile/TileLayer.WMS.js +0 -0
  102. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/tile/TileLayer.js +3 -5
  103. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Circle.js +0 -0
  104. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/CircleMarker.js +1 -0
  105. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/MultiPoly.js +0 -0
  106. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Path.Popup.js +0 -0
  107. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Path.SVG.js +1 -1
  108. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Path.VML.js +0 -0
  109. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Path.js +0 -0
  110. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Polygon.js +0 -0
  111. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Polyline.js +0 -0
  112. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/Rectangle.js +0 -0
  113. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/canvas/Circle.Canvas.js +0 -0
  114. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/canvas/CircleMarker.Canvas.js +0 -0
  115. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/canvas/Path.Canvas.js +13 -6
  116. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/canvas/Polygon.Canvas.js +0 -0
  117. data/{lib/leaflet → vendor/assets/Leaflet}/src/layer/vector/canvas/Polyline.Canvas.js +0 -0
  118. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/Map.js +9 -8
  119. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/anim/Map.PanAnimation.js +0 -0
  120. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/anim/Map.ZoomAnimation.js +25 -16
  121. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/ext/Map.Geolocation.js +0 -0
  122. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.BoxZoom.js +0 -0
  123. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.DoubleClickZoom.js +0 -0
  124. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.Drag.js +0 -0
  125. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.Keyboard.js +0 -0
  126. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.ScrollWheelZoom.js +0 -0
  127. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.Tap.js +0 -0
  128. data/{lib/leaflet → vendor/assets/Leaflet}/src/map/handler/Map.TouchZoom.js +1 -1
  129. data/vendor/assets/{stylesheets/leaflet-js.css → leaflet-js.css} +0 -0
  130. data/vendor/assets/{javascripts/leaflet-js.js → leaflet-js.js} +2 -2
  131. data/{lib/leaflet.label/libs/leaflet/leaflet.css → vendor/assets/leaflet.css.erb} +2 -2
  132. data/vendor/assets/{stylesheets/leaflet.draw.css.erb → leaflet.draw.css.erb} +2 -2
  133. data/{lib/leaflet.draw/dist → vendor/assets}/leaflet.draw.ie.css +0 -0
  134. data/vendor/assets/leaflet.draw.js +38 -0
  135. data/vendor/assets/leaflet.js +155 -0
  136. data/{lib/leaflet.label/dist → vendor/assets}/leaflet.label.css +0 -0
  137. data/vendor/assets/leaflet.label.js +11 -0
  138. metadata +139 -302
  139. data/lib/leaflet.draw/BREAKINGCHANGES.md +0 -54
  140. data/lib/leaflet.draw/CHANGELOG.md +0 -118
  141. data/lib/leaflet.draw/Jakefile.js +0 -26
  142. data/lib/leaflet.draw/MIT-LICENCE.txt +0 -20
  143. data/lib/leaflet.draw/README.md +0 -411
  144. data/lib/leaflet.draw/TODO.md +0 -62
  145. data/lib/leaflet.draw/build/build.html +0 -243
  146. data/lib/leaflet.draw/build/build.js +0 -189
  147. data/lib/leaflet.draw/build/deps.js +0 -76
  148. data/lib/leaflet.draw/build/hintrc.js +0 -47
  149. data/lib/leaflet.draw/build/leaflet.draw-include.js +0 -42
  150. data/lib/leaflet.draw/dist/leaflet.draw-src.js +0 -2782
  151. data/lib/leaflet.draw/dist/leaflet.draw.css +0 -244
  152. data/lib/leaflet.draw/dist/leaflet.draw.js +0 -10
  153. data/lib/leaflet.draw/examples/basic.html +0 -113
  154. data/lib/leaflet.draw/examples/edithandlers.html +0 -67
  155. data/lib/leaflet.draw/examples/libs/images/marker-icon@2x.png +0 -0
  156. data/lib/leaflet.draw/examples/libs/leaflet-src.js +0 -9108
  157. data/lib/leaflet.draw/examples/libs/leaflet.css +0 -478
  158. data/lib/leaflet.draw/package.json +0 -37
  159. data/lib/leaflet.draw/spec/after.js +0 -2
  160. data/lib/leaflet.draw/spec/before.js +0 -3
  161. data/lib/leaflet.draw/spec/expect.js +0 -1253
  162. data/lib/leaflet.draw/spec/happen.js +0 -93
  163. data/lib/leaflet.draw/spec/index.html +0 -36
  164. data/lib/leaflet.draw/spec/karma.conf.js +0 -69
  165. data/lib/leaflet.draw/spec/sinon.js +0 -4223
  166. data/lib/leaflet.draw/spec/suites/DrawControlSpec.js +0 -15
  167. data/lib/leaflet.draw/spec/suites/GeometryUtilSpec.js +0 -25
  168. data/lib/leaflet.draw/spec/suites/LatLngUtilSpec.js +0 -9
  169. data/lib/leaflet.draw/spec/suites/SpecHelper.js +0 -26
  170. data/lib/leaflet.draw/src/draw/DrawToolbar.js +0 -111
  171. data/lib/leaflet.label/CHANGELOG.md +0 -67
  172. data/lib/leaflet.label/Jakefile.js +0 -21
  173. data/lib/leaflet.label/MIT-LICENCE.txt +0 -20
  174. data/lib/leaflet.label/README.md +0 -103
  175. data/lib/leaflet.label/build/build.js +0 -155
  176. data/lib/leaflet.label/build/deps.js +0 -26
  177. data/lib/leaflet.label/build/hint.js +0 -30
  178. data/lib/leaflet.label/build/hintrc.js +0 -51
  179. data/lib/leaflet.label/dist/images/death.png +0 -0
  180. data/lib/leaflet.label/dist/leaflet.label-src.js +0 -542
  181. data/lib/leaflet.label/dist/leaflet.label.js +0 -9
  182. data/lib/leaflet.label/example/label.html +0 -85
  183. data/lib/leaflet.label/libs/leaflet/images/layers-2x.png +0 -0
  184. data/lib/leaflet.label/libs/leaflet/images/layers.png +0 -0
  185. data/lib/leaflet.label/libs/leaflet/images/marker-icon-2x.png +0 -0
  186. data/lib/leaflet.label/libs/leaflet/images/marker-icon.png +0 -0
  187. data/lib/leaflet.label/libs/leaflet/images/marker-icon@2x.png +0 -0
  188. data/lib/leaflet.label/libs/leaflet/images/marker-shadow.png +0 -0
  189. data/lib/leaflet.label/libs/leaflet/leaflet-src.js +0 -9108
  190. data/lib/leaflet.label/libs/leaflet/leaflet.js +0 -9
  191. data/lib/leaflet.label/package.json +0 -19
  192. data/lib/leaflet/CHANGELOG.md +0 -905
  193. data/lib/leaflet/CONTRIBUTING.md +0 -155
  194. data/lib/leaflet/FAQ.md +0 -138
  195. data/lib/leaflet/Jakefile.js +0 -46
  196. data/lib/leaflet/LICENSE +0 -23
  197. data/lib/leaflet/PLUGIN-GUIDE.md +0 -127
  198. data/lib/leaflet/README.md +0 -34
  199. data/lib/leaflet/build/build.html +0 -227
  200. data/lib/leaflet/build/build.js +0 -163
  201. data/lib/leaflet/build/deps.js +0 -259
  202. data/lib/leaflet/build/hintrc.js +0 -39
  203. data/lib/leaflet/debug/css/mobile.css +0 -6
  204. data/lib/leaflet/debug/css/screen.css +0 -5
  205. data/lib/leaflet/debug/hacks/jitter.html +0 -42
  206. data/lib/leaflet/debug/leaflet-include.js +0 -59
  207. data/lib/leaflet/debug/map/canvas.html +0 -46
  208. data/lib/leaflet/debug/map/controls.html +0 -49
  209. data/lib/leaflet/debug/map/geolocation.html +0 -34
  210. data/lib/leaflet/debug/map/iframe.html +0 -11
  211. data/lib/leaflet/debug/map/image-overlay.html +0 -43
  212. data/lib/leaflet/debug/map/map-mobile.html +0 -34
  213. data/lib/leaflet/debug/map/map.html +0 -59
  214. data/lib/leaflet/debug/map/max-bounds.html +0 -38
  215. data/lib/leaflet/debug/map/opacity.html +0 -223
  216. data/lib/leaflet/debug/map/scroll.html +0 -41
  217. data/lib/leaflet/debug/map/simple-proj.html +0 -44
  218. data/lib/leaflet/debug/map/wms-marble.html +0 -30
  219. data/lib/leaflet/debug/map/wms.html +0 -40
  220. data/lib/leaflet/debug/map/zoomlevels.html +0 -45
  221. data/lib/leaflet/debug/tests/add_remove_layers.html +0 -87
  222. data/lib/leaflet/debug/tests/bringtoback.html +0 -37
  223. data/lib/leaflet/debug/tests/canvasloop.html +0 -47
  224. data/lib/leaflet/debug/tests/click_on_canvas.html +0 -58
  225. data/lib/leaflet/debug/tests/click_on_canvas_broken.html +0 -49
  226. data/lib/leaflet/debug/tests/dragging_and_copyworldjump.html +0 -61
  227. data/lib/leaflet/debug/tests/opacity.html +0 -56
  228. data/lib/leaflet/debug/tests/popupcontextmenuclicks.html +0 -59
  229. data/lib/leaflet/debug/tests/remove_while_dragging.html +0 -28
  230. data/lib/leaflet/debug/tests/removetilewhilepan.html +0 -41
  231. data/lib/leaflet/debug/tests/reuse_popups.html +0 -40
  232. data/lib/leaflet/debug/tests/rtl.html +0 -42
  233. data/lib/leaflet/debug/tests/rtl2.html +0 -27
  234. data/lib/leaflet/debug/tests/set_icon_reuse_dom.html +0 -43
  235. data/lib/leaflet/debug/tests/svg_clicks.html +0 -54
  236. data/lib/leaflet/debug/vector/bounds-extend.html +0 -88
  237. data/lib/leaflet/debug/vector/feature-group-bounds.html +0 -90
  238. data/lib/leaflet/debug/vector/geojson-sample.js +0 -53
  239. data/lib/leaflet/debug/vector/geojson.html +0 -173
  240. data/lib/leaflet/debug/vector/rectangle.html +0 -53
  241. data/lib/leaflet/debug/vector/route.js +0 -1
  242. data/lib/leaflet/debug/vector/touchzoomemu.html +0 -194
  243. data/lib/leaflet/debug/vector/us-states.js +0 -54
  244. data/lib/leaflet/debug/vector/vector-bounds.html +0 -69
  245. data/lib/leaflet/debug/vector/vector-canvas.html +0 -92
  246. data/lib/leaflet/debug/vector/vector-mobile.html +0 -38
  247. data/lib/leaflet/debug/vector/vector-simple.html +0 -48
  248. data/lib/leaflet/debug/vector/vector.html +0 -37
  249. data/lib/leaflet/dist/images/layers-2x.png +0 -0
  250. data/lib/leaflet/dist/images/layers.png +0 -0
  251. data/lib/leaflet/dist/images/marker-icon-2x.png +0 -0
  252. data/lib/leaflet/dist/images/marker-icon.png +0 -0
  253. data/lib/leaflet/dist/images/marker-shadow.png +0 -0
  254. data/lib/leaflet/dist/leaflet.css +0 -478
  255. data/lib/leaflet/package.json +0 -27
  256. data/lib/leaflet/spec/after.js +0 -2
  257. data/lib/leaflet/spec/before.js +0 -3
  258. data/lib/leaflet/spec/expect.js +0 -1253
  259. data/lib/leaflet/spec/index.html +0 -86
  260. data/lib/leaflet/spec/karma.conf.js +0 -65
  261. data/lib/leaflet/spec/sinon.js +0 -4223
  262. data/lib/leaflet/spec/spec.hintrc.js +0 -25
  263. data/lib/leaflet/spec/suites/LeafletSpec.js +0 -13
  264. data/lib/leaflet/spec/suites/SpecHelper.js +0 -42
  265. data/lib/leaflet/spec/suites/control/Control.AttributionSpec.js +0 -68
  266. data/lib/leaflet/spec/suites/control/Control.LayersSpec.js +0 -67
  267. data/lib/leaflet/spec/suites/control/Control.ScaleSpec.js +0 -6
  268. data/lib/leaflet/spec/suites/core/ClassSpec.js +0 -156
  269. data/lib/leaflet/spec/suites/core/EventsSpec.js +0 -392
  270. data/lib/leaflet/spec/suites/core/UtilSpec.js +0 -256
  271. data/lib/leaflet/spec/suites/dom/DomEventSpec.js +0 -102
  272. data/lib/leaflet/spec/suites/dom/DomUtilSpec.js +0 -82
  273. data/lib/leaflet/spec/suites/dom/PosAnimationSpec.js +0 -27
  274. data/lib/leaflet/spec/suites/geo/CRSSpec.js +0 -47
  275. data/lib/leaflet/spec/suites/geo/LatLngBoundsSpec.js +0 -144
  276. data/lib/leaflet/spec/suites/geo/LatLngSpec.js +0 -132
  277. data/lib/leaflet/spec/suites/geo/ProjectionSpec.js +0 -48
  278. data/lib/leaflet/spec/suites/geometry/BoundsSpec.js +0 -87
  279. data/lib/leaflet/spec/suites/geometry/LineUtilSpec.js +0 -75
  280. data/lib/leaflet/spec/suites/geometry/PointSpec.js +0 -104
  281. data/lib/leaflet/spec/suites/geometry/PolyUtilSpec.js +0 -27
  282. data/lib/leaflet/spec/suites/geometry/TransformationSpec.js +0 -31
  283. data/lib/leaflet/spec/suites/layer/FeatureGroupSpec.js +0 -86
  284. data/lib/leaflet/spec/suites/layer/GeoJSONSpec.js +0 -282
  285. data/lib/leaflet/spec/suites/layer/LayerGroupSpec.js +0 -58
  286. data/lib/leaflet/spec/suites/layer/PopupSpec.js +0 -119
  287. data/lib/leaflet/spec/suites/layer/TileLayerSpec.js +0 -88
  288. data/lib/leaflet/spec/suites/layer/marker/MarkerSpec.js +0 -94
  289. data/lib/leaflet/spec/suites/layer/vector/CircleMarkerSpec.js +0 -53
  290. data/lib/leaflet/spec/suites/layer/vector/CircleSpec.js +0 -17
  291. data/lib/leaflet/spec/suites/layer/vector/PolygonSpec.js +0 -91
  292. data/lib/leaflet/spec/suites/layer/vector/PolylineGeometrySpec.js +0 -35
  293. data/lib/leaflet/spec/suites/layer/vector/PolylineSpec.js +0 -55
  294. data/lib/leaflet/spec/suites/map/MapSpec.js +0 -536
  295. data/lib/leaflet/spec/suites/map/handler/Map.DragSpec.js +0 -38
  296. data/vendor/assets/images/layers-2x.png +0 -0
  297. data/vendor/assets/images/layers.png +0 -0
  298. data/vendor/assets/images/marker-icon-2x.png +0 -0
  299. data/vendor/assets/images/marker-icon.png +0 -0
  300. data/vendor/assets/images/marker-shadow.png +0 -0
  301. data/vendor/assets/images/spritesheet-2x.png +0 -0
  302. data/vendor/assets/images/spritesheet.png +0 -0
  303. data/vendor/assets/javascripts/leaflet.draw.js +0 -37
  304. data/vendor/assets/javascripts/leaflet.js +0 -147
  305. data/vendor/assets/javascripts/leaflet.label.js +0 -11
  306. data/vendor/assets/stylesheets/leaflet.css.erb +0 -478
  307. data/vendor/assets/stylesheets/leaflet.draw.ie.css +0 -49
  308. data/vendor/assets/stylesheets/leaflet.label.css +0 -52
@@ -1,25 +0,0 @@
1
- {
2
- "browser": true,
3
- "node": true,
4
- "predef": ["define", "L", "expect", "describe", "it", "sinon", "happen", "beforeEach", "afterEach"],
5
- "strict": false,
6
- "bitwise": true,
7
- "camelcase": true,
8
- "curly": true,
9
- "eqeqeq": true,
10
- "forin": false,
11
- "immed": true,
12
- "latedef": true,
13
- "newcap": true,
14
- "noarg": true,
15
- "noempty": true,
16
- "nonew": true,
17
- "undef": true,
18
- // "unused": true,
19
- // "quotmark": "single",
20
- "indent": 4,
21
- "trailing": true,
22
- "white": true,
23
- "smarttabs": true
24
- // "maxlen": 120
25
- }
@@ -1,13 +0,0 @@
1
- describe('L#noConflict', function () {
2
- it('restores the previous L value and returns Leaflet namespace', function () {
3
-
4
- expect(L.version).to.be.ok();
5
-
6
- var L2 = L.noConflict();
7
-
8
- expect(L).to.eql('test');
9
- expect(L2.version).to.be.ok();
10
-
11
- window.L = L2;
12
- });
13
- });
@@ -1,42 +0,0 @@
1
- if (!Array.prototype.map) {
2
- Array.prototype.map = function (fun /*, thisp */) {
3
- "use strict";
4
-
5
- if (this === void 0 || this === null) {
6
- throw new TypeError();
7
- }
8
-
9
- var t = Object(this);
10
- // jshint bitwise: false
11
- var len = t.length >>> 0;
12
- if (typeof fun !== "function") {
13
- throw new TypeError();
14
- }
15
-
16
- var res = new Array(len);
17
- var thisp = arguments[1];
18
- for (var i = 0; i < len; i++) {
19
- if (i in t) {
20
- res[i] = fun.call(thisp, t[i], i, t);
21
- }
22
- }
23
-
24
- return res;
25
- };
26
- }
27
-
28
- expect.Assertion.prototype.near = function (expected, delta) {
29
- delta = delta || 1;
30
- expect(this.obj.x).to
31
- .be.within(expected.x - delta, expected.x + delta);
32
- expect(this.obj.y).to
33
- .be.within(expected.y - delta, expected.y + delta);
34
- };
35
-
36
- expect.Assertion.prototype.nearLatLng = function (expected, delta) {
37
- delta = delta || 1e-4;
38
- expect(this.obj.lat).to
39
- .be.within(expected.lat - delta, expected.lat + delta);
40
- expect(this.obj.lng).to
41
- .be.within(expected.lng - delta, expected.lng + delta);
42
- };
@@ -1,68 +0,0 @@
1
- describe("Control.Attribution", function () {
2
-
3
- var map, control, container;
4
-
5
- beforeEach(function () {
6
- map = L.map(document.createElement('div'));
7
- control = new L.Control.Attribution({
8
- prefix: 'prefix'
9
- }).addTo(map);
10
- container = control.getContainer();
11
- });
12
-
13
- it("contains just prefix if no attributions added", function () {
14
- expect(container.innerHTML).to.eql('prefix');
15
- });
16
-
17
- describe('#addAttribution', function () {
18
- it('adds one attribution correctly', function () {
19
- control.addAttribution('foo');
20
- expect(container.innerHTML).to.eql('prefix | foo');
21
- });
22
-
23
- it('adds no duplicate attributions', function () {
24
- control.addAttribution('foo');
25
- control.addAttribution('foo');
26
- expect(container.innerHTML).to.eql('prefix | foo');
27
- });
28
-
29
- it('adds several attributions listed with comma', function () {
30
- control.addAttribution('foo');
31
- control.addAttribution('bar');
32
- expect(container.innerHTML).to.eql('prefix | foo, bar');
33
- });
34
- });
35
-
36
- describe('#removeAttribution', function () {
37
- it('removes attribution correctly', function () {
38
- control.addAttribution('foo');
39
- control.addAttribution('bar');
40
- control.removeAttribution('foo');
41
- expect(container.innerHTML).to.eql('prefix | bar');
42
- });
43
- it('does nothing if removing attribution that was not present', function () {
44
- control.addAttribution('foo');
45
- control.addAttribution('baz');
46
- control.removeAttribution('bar');
47
- control.removeAttribution('baz');
48
- control.removeAttribution('baz');
49
- control.removeAttribution('');
50
- expect(container.innerHTML).to.eql('prefix | foo');
51
- });
52
- });
53
-
54
- describe('#setPrefix', function () {
55
- it('changes prefix', function () {
56
- control.setPrefix('bla');
57
- expect(container.innerHTML).to.eql('bla');
58
- });
59
- });
60
-
61
- describe('control.attribution factory', function () {
62
- it('creates Control.Attribution instance', function () {
63
- var options = {prefix: 'prefix'};
64
- expect(L.control.attribution(options)).to.eql(new L.Control.Attribution(options));
65
- });
66
- });
67
-
68
- });
@@ -1,67 +0,0 @@
1
- describe("Control.Layers", function () {
2
- var map;
3
-
4
- beforeEach(function () {
5
- map = L.map(document.createElement('div'));
6
- });
7
-
8
- describe("baselayerchange event", function () {
9
- it("is fired on input that changes the base layer", function () {
10
- var baseLayers = {"Layer 1": L.tileLayer(), "Layer 2": L.tileLayer()},
11
- layers = L.control.layers(baseLayers).addTo(map),
12
- spy = sinon.spy();
13
-
14
- map.on('baselayerchange', spy)
15
- .whenReady(function () {
16
- happen.click(layers._baseLayersList.getElementsByTagName("input")[0]);
17
-
18
- expect(spy.called).to.be.ok();
19
- expect(spy.mostRecentCall.args[0].layer).to.be(baseLayers["Layer 1"]);
20
- });
21
- });
22
-
23
- it("is not fired on input that doesn't change the base layer", function () {
24
- var overlays = {"Marker 1": L.marker([0, 0]), "Marker 2": L.marker([0, 0])},
25
- layers = L.control.layers({}, overlays).addTo(map),
26
- spy = sinon.spy();
27
-
28
- map.on('baselayerchange', spy);
29
- happen.click(layers._overlaysList.getElementsByTagName("input")[0]);
30
-
31
- expect(spy.called).to.not.be.ok();
32
- });
33
- });
34
-
35
- describe("updates", function () {
36
- beforeEach(function () {
37
- map.setView([0, 0], 14);
38
- });
39
-
40
- it("when an included layer is addded or removed", function () {
41
- var baseLayer = L.tileLayer(),
42
- overlay = L.marker([0, 0]),
43
- layers = L.control.layers({"Base": baseLayer}, {"Overlay": overlay}).addTo(map);
44
-
45
- var spy = sinon.spy(layers, '_update');
46
-
47
- map.addLayer(overlay);
48
- map.removeLayer(overlay);
49
-
50
- expect(spy.called).to.be.ok();
51
- expect(spy.callCount).to.eql(2);
52
- });
53
-
54
- it("not when a non-included layer is added or removed", function () {
55
- var baseLayer = L.tileLayer(),
56
- overlay = L.marker([0, 0]),
57
- layers = L.control.layers({"Base": baseLayer}).addTo(map);
58
-
59
- var spy = sinon.spy(layers, '_update');
60
-
61
- map.addLayer(overlay);
62
- map.removeLayer(overlay);
63
-
64
- expect(spy.called).to.not.be.ok();
65
- });
66
- });
67
- });
@@ -1,6 +0,0 @@
1
- describe("Control.Scale", function () {
2
- it("can be added to an unloaded map", function () {
3
- var map = L.map(document.createElement('div'));
4
- new L.Control.Scale().addTo(map);
5
- });
6
- });
@@ -1,156 +0,0 @@
1
- describe("Class", function () {
2
-
3
- describe("#extend", function () {
4
- var Klass,
5
- constructor,
6
- method;
7
-
8
- beforeEach(function () {
9
- constructor = sinon.spy();
10
- method = sinon.spy();
11
-
12
- Klass = L.Class.extend({
13
- statics: {bla: 1},
14
- includes: {mixin: true},
15
-
16
- initialize: constructor,
17
- foo: 5,
18
- bar: method
19
- });
20
- });
21
-
22
- it("creates a class with the given constructor & properties", function () {
23
- var a = new Klass();
24
-
25
- expect(constructor.called).to.be.ok();
26
- expect(a.foo).to.eql(5);
27
-
28
- a.bar();
29
-
30
- expect(method.called).to.be.ok();
31
- });
32
-
33
- it("inherits parent classes' constructor & properties", function () {
34
- var Klass2 = Klass.extend({baz: 2});
35
-
36
- var b = new Klass2();
37
-
38
- expect(b instanceof Klass).to.be.ok();
39
- expect(b instanceof Klass2).to.be.ok();
40
-
41
- expect(constructor.called).to.be.ok();
42
- expect(b.baz).to.eql(2);
43
-
44
- b.bar();
45
-
46
- expect(method.called).to.be.ok();
47
- });
48
-
49
- it("supports static properties", function () {
50
- expect(Klass.bla).to.eql(1);
51
- });
52
-
53
- it("inherits parent static properties", function () {
54
- var Klass2 = Klass.extend({});
55
-
56
- expect(Klass2.bla).to.eql(1);
57
- });
58
-
59
- it("overrides parent static properties", function () {
60
- var Klass2 = Klass.extend({statics: {bla: 2}});
61
-
62
- expect(Klass2.bla).to.eql(2);
63
- });
64
-
65
- it("includes the given mixin", function () {
66
- var a = new Klass();
67
- expect(a.mixin).to.be.ok();
68
- });
69
-
70
- it("includes multiple mixins", function () {
71
- var Klass2 = L.Class.extend({
72
- includes: [{mixin: true}, {mixin2: true}]
73
- });
74
- var a = new Klass2();
75
-
76
- expect(a.mixin).to.be.ok();
77
- expect(a.mixin2).to.be.ok();
78
- });
79
-
80
- it("grants the ability to include the given mixin", function () {
81
- Klass.include({mixin2: true});
82
-
83
- var a = new Klass();
84
- expect(a.mixin2).to.be.ok();
85
- });
86
-
87
- it("merges options instead of replacing them", function () {
88
- var KlassWithOptions1 = L.Class.extend({
89
- options: {
90
- foo1: 1,
91
- foo2: 2
92
- }
93
- });
94
- var KlassWithOptions2 = KlassWithOptions1.extend({
95
- options: {
96
- foo2: 3,
97
- foo3: 4
98
- }
99
- });
100
-
101
- var a = new KlassWithOptions2();
102
-
103
- expect(a.options).to.eql({
104
- foo1: 1,
105
- foo2: 3,
106
- foo3: 4
107
- });
108
- });
109
-
110
- it("adds constructor hooks correctly", function () {
111
- var spy1 = sinon.spy();
112
-
113
- Klass.addInitHook(spy1);
114
- Klass.addInitHook('bar', 1, 2, 3);
115
-
116
- var a = new Klass();
117
-
118
- expect(spy1.called).to.be.ok();
119
- expect(method.calledWith(1, 2, 3));
120
- });
121
-
122
- it("inherits constructor hooks", function () {
123
- var spy1 = sinon.spy(),
124
- spy2 = sinon.spy();
125
-
126
- var Klass2 = Klass.extend({});
127
-
128
- Klass.addInitHook(spy1);
129
- Klass2.addInitHook(spy2);
130
-
131
- var a = new Klass2();
132
-
133
- expect(spy1.called).to.be.ok();
134
- expect(spy2.called).to.be.ok();
135
- });
136
-
137
- it("does not call child constructor hooks", function () {
138
- var spy1 = sinon.spy(),
139
- spy2 = sinon.spy();
140
-
141
- var Klass2 = Klass.extend({});
142
-
143
- Klass.addInitHook(spy1);
144
- Klass2.addInitHook(spy2);
145
-
146
- var a = new Klass();
147
-
148
- expect(spy1.called).to.be.ok();
149
- expect(spy2.called).to.eql(false);
150
- });
151
- });
152
-
153
- // TODO Class.include
154
-
155
- // TODO Class.mergeOptions
156
- });
@@ -1,392 +0,0 @@
1
- describe('Events', function () {
2
- var Klass;
3
-
4
- beforeEach(function () {
5
- Klass = L.Class.extend({
6
- includes: L.Mixin.Events
7
- });
8
- });
9
-
10
- describe('#fireEvent', function () {
11
-
12
- it('fires all listeners added through #addEventListener', function () {
13
- var obj = new Klass(),
14
- spy1 = sinon.spy(),
15
- spy2 = sinon.spy(),
16
- spy3 = sinon.spy(),
17
- spy4 = sinon.spy(),
18
- spy5 = sinon.spy(),
19
- spy6 = sinon.spy();
20
-
21
- obj.addEventListener('test', spy1);
22
- obj.addEventListener('test', spy2);
23
- obj.addEventListener('other', spy3);
24
- obj.addEventListener({ test: spy4, other: spy5 });
25
- obj.addEventListener({'test other': spy6 });
26
-
27
- expect(spy1.called).to.be(false);
28
- expect(spy2.called).to.be(false);
29
- expect(spy3.called).to.be(false);
30
- expect(spy4.called).to.be(false);
31
- expect(spy5.called).to.be(false);
32
- expect(spy6.called).to.be(false);
33
-
34
- obj.fireEvent('test');
35
-
36
- expect(spy1.called).to.be(true);
37
- expect(spy2.called).to.be(true);
38
- expect(spy3.called).to.be(false);
39
- expect(spy4.called).to.be(true);
40
- expect(spy5.called).to.be(false);
41
- expect(spy6.called).to.be(true);
42
- expect(spy6.callCount).to.be(1);
43
- });
44
-
45
- it('provides event object to listeners and executes them in the right context', function () {
46
- var obj = new Klass(),
47
- obj2 = new Klass(),
48
- obj3 = new Klass(),
49
- obj4 = new Klass(),
50
- foo = {};
51
-
52
- function listener1(e) {
53
- expect(e.type).to.eql('test');
54
- expect(e.target).to.eql(obj);
55
- expect(this).to.eql(obj);
56
- expect(e.baz).to.eql(1);
57
- }
58
-
59
- function listener2(e) {
60
- expect(e.type).to.eql('test');
61
- expect(e.target).to.eql(obj2);
62
- expect(this).to.eql(foo);
63
- expect(e.baz).to.eql(2);
64
- }
65
-
66
- function listener3(e) {
67
- expect(e.type).to.eql('test');
68
- expect(e.target).to.eql(obj3);
69
- expect(this).to.eql(obj3);
70
- expect(e.baz).to.eql(3);
71
- }
72
-
73
- function listener4(e) {
74
- expect(e.type).to.eql('test');
75
- expect(e.target).to.eql(obj4);
76
- expect(this).to.eql(foo);
77
- expect(e.baz).to.eql(4);
78
- }
79
-
80
- obj.addEventListener('test', listener1);
81
- obj2.addEventListener('test', listener2, foo);
82
- obj3.addEventListener({ test: listener3 });
83
- obj4.addEventListener({ test: listener4 }, foo);
84
-
85
- obj.fireEvent('test', {baz: 1});
86
- obj2.fireEvent('test', {baz: 2});
87
- obj3.fireEvent('test', {baz: 3});
88
- obj4.fireEvent('test', {baz: 4});
89
- });
90
-
91
- it('calls no listeners removed through #removeEventListener', function () {
92
- var obj = new Klass(),
93
- spy = sinon.spy(),
94
- spy2 = sinon.spy(),
95
- spy3 = sinon.spy(),
96
- spy4 = sinon.spy(),
97
- spy5 = sinon.spy();
98
-
99
- obj.addEventListener('test', spy);
100
- obj.removeEventListener('test', spy);
101
-
102
- obj.fireEvent('test');
103
-
104
- expect(spy.called).to.be(false);
105
-
106
- obj.addEventListener('test2', spy2);
107
- obj.addEventListener('test2', spy3);
108
- obj.removeEventListener('test2');
109
-
110
- obj.fireEvent('test2');
111
-
112
- expect(spy2.called).to.be(false);
113
- expect(spy3.called).to.be(false);
114
-
115
- obj.addEventListener('test3', spy4);
116
- obj.addEventListener('test4', spy5);
117
- obj.removeEventListener({
118
- test3: spy4,
119
- test4: spy5
120
- });
121
-
122
- obj.fireEvent('test3');
123
- obj.fireEvent('test4');
124
-
125
- expect(spy4.called).to.be(false);
126
- expect(spy5.called).to.be(false);
127
- });
128
-
129
- it('can handle calls to #removeEventListener on objects with no registered event listeners', function () {
130
- var obj = new Klass();
131
- var removeNonExistentListener = function () {
132
- obj.removeEventListener('test');
133
- };
134
- expect(removeNonExistentListener).to.not.throwException();
135
- });
136
-
137
- // added due to context-sensitive removeListener optimization
138
- it('fires multiple listeners with the same context with id', function () {
139
- var obj = new Klass(),
140
- spy1 = sinon.spy(),
141
- spy2 = sinon.spy(),
142
- foo = {};
143
-
144
- L.Util.stamp(foo);
145
-
146
- obj.addEventListener('test', spy1, foo);
147
- obj.addEventListener('test', spy2, foo);
148
-
149
- obj.fireEvent('test');
150
-
151
- expect(spy1.called).to.be(true);
152
- expect(spy2.called).to.be(true);
153
- });
154
-
155
- it('removes listeners with stamped contexts', function () {
156
- var obj = new Klass(),
157
- spy1 = sinon.spy(),
158
- spy2 = sinon.spy(),
159
- foo = {};
160
-
161
- L.Util.stamp(foo);
162
-
163
- obj.addEventListener('test', spy1, foo);
164
- obj.addEventListener('test', spy2, foo);
165
-
166
- obj.removeEventListener('test', spy1, foo);
167
-
168
- obj.fireEvent('test');
169
-
170
- expect(spy1.called).to.be(false);
171
- expect(spy2.called).to.be(true);
172
- });
173
-
174
- it('removes listeners with a stamp originally added without one', function () {
175
- var obj = new Klass(),
176
- spy1 = sinon.spy(),
177
- spy2 = sinon.spy(),
178
- foo = {};
179
-
180
- obj.addEventListener('test', spy1, foo);
181
- L.Util.stamp(foo);
182
- obj.addEventListener('test', spy2, foo);
183
-
184
- obj.removeEventListener('test', spy1, foo);
185
- obj.removeEventListener('test', spy2, foo);
186
-
187
- obj.fireEvent('test');
188
-
189
- expect(spy1.called).to.be(false);
190
- expect(spy2.called).to.be(false);
191
- });
192
-
193
- it('removes listeners with context == this and a stamp originally added without one', function () {
194
- var obj = new Klass(),
195
- obj2 = new Klass(),
196
- spy1 = sinon.spy(),
197
- spy2 = sinon.spy(),
198
- spy3 = sinon.spy();
199
-
200
- obj.addEventListener('test', spy1, obj);
201
- L.Util.stamp(obj);
202
- obj.addEventListener('test', spy2, obj);
203
- obj.addEventListener('test', spy3, obj2); // So that there is a contextId based listener, otherwise removeEventListener will do correct behaviour anyway
204
-
205
- obj.removeEventListener('test', spy1, obj);
206
- obj.removeEventListener('test', spy2, obj);
207
- obj.removeEventListener('test', spy3, obj2);
208
-
209
- obj.fireEvent('test');
210
-
211
- expect(spy1.called).to.be(false);
212
- expect(spy2.called).to.be(false);
213
- expect(spy3.called).to.be(false);
214
- });
215
-
216
- it('doesnt lose track of listeners when removing non existent ones', function () {
217
- var obj = new Klass(),
218
- spy = sinon.spy(),
219
- spy2 = sinon.spy(),
220
- foo = {},
221
- foo2 = {};
222
-
223
- L.Util.stamp(foo);
224
- L.Util.stamp(foo2);
225
-
226
- obj.addEventListener('test', spy, foo2);
227
-
228
- obj.removeEventListener('test', spy, foo); // Decrements test_idx to 0, even though event listener isn't registered with foo's _leaflet_id
229
- obj.removeEventListener('test', spy, foo2); // Doesn't get removed
230
-
231
- obj.addEventListener('test', spy2, foo);
232
-
233
- obj.fireEvent('test');
234
-
235
- expect(spy.called).to.be(false);
236
- });
237
-
238
- it('correctly removes all listeners if given no fn', function () {
239
- var obj = new Klass(),
240
- spy = sinon.spy(),
241
- foo = {},
242
- foo2 = {},
243
- foo3 = {};
244
-
245
- obj.addEventListener('test', spy, foo2);
246
- obj.addEventListener('test', spy, foo3);
247
-
248
- obj.removeEventListener('test'); // Removes both of the above listeners
249
-
250
- expect(obj.hasEventListeners('test')).to.be(false);
251
-
252
- //Add and remove a listener
253
- obj.addEventListener('test', spy, foo2);
254
- obj.removeEventListener('test', spy, foo2);
255
-
256
- expect(obj.hasEventListeners('test')).to.be(false);
257
- });
258
-
259
- it('makes sure an event is not triggered if a listener is removed during dispatch', function () {
260
- var obj = new Klass(),
261
- spy = sinon.spy();
262
-
263
- obj.addEventListener('test', function () { obj.removeEventListener('test', spy); });
264
- obj.addEventListener('test', spy);
265
- obj.fireEvent('test');
266
-
267
- expect(spy.called).to.be(false);
268
- });
269
- });
270
-
271
- describe('#on, #off & #fire', function () {
272
-
273
- it('works like #addEventListener && #removeEventListener', function () {
274
- var obj = new Klass(),
275
- spy = sinon.spy();
276
-
277
- obj.on('test', spy);
278
- obj.fire('test');
279
-
280
- expect(spy.called).to.be(true);
281
-
282
- obj.off('test', spy);
283
- obj.fireEvent('test');
284
-
285
- expect(spy.callCount).to.be.lessThan(2);
286
- });
287
-
288
- it('does not override existing methods with the same name', function () {
289
- var spy1 = sinon.spy(),
290
- spy2 = sinon.spy(),
291
- spy3 = sinon.spy();
292
-
293
- var Klass2 = L.Class.extend({
294
- includes: L.Mixin.Events,
295
- on: spy1,
296
- off: spy2,
297
- fire: spy3
298
- });
299
-
300
- var obj = new Klass2();
301
-
302
- obj.on();
303
- expect(spy1.called).to.be(true);
304
-
305
- obj.off();
306
- expect(spy2.called).to.be(true);
307
-
308
- obj.fire();
309
- expect(spy3.called).to.be(true);
310
- });
311
- });
312
-
313
- describe("#clearEventListeners", function () {
314
- it("clears all registered listeners on an object", function () {
315
- var spy = sinon.spy(),
316
- obj = new Klass(),
317
- otherObj = new Klass();
318
-
319
- obj.on('test', spy, obj);
320
- obj.on('testTwo', spy);
321
- obj.on('test', spy, otherObj);
322
- obj.off();
323
-
324
- obj.fire('test');
325
-
326
- expect(spy.called).to.be(false);
327
- });
328
- });
329
-
330
- describe('#once', function () {
331
- it('removes event listeners after first trigger', function () {
332
- var obj = new Klass(),
333
- spy = sinon.spy();
334
-
335
- obj.once('test', spy, obj);
336
- obj.fire('test');
337
-
338
- expect(spy.called).to.be(true);
339
-
340
- obj.fire('test');
341
-
342
- expect(spy.callCount).to.be.lessThan(2);
343
- });
344
-
345
- it('works with an object hash', function () {
346
- var obj = new Klass(),
347
- spy = sinon.spy(),
348
- otherSpy = sinon.spy();
349
-
350
- obj.once({
351
- 'test': spy,
352
- otherTest: otherSpy
353
- }, obj);
354
-
355
- obj.fire('test');
356
- obj.fire('otherTest');
357
-
358
- expect(spy.called).to.be(true);
359
- expect(otherSpy.called).to.be(true);
360
-
361
- obj.fire('test');
362
- obj.fire('otherTest');
363
-
364
- expect(spy.callCount).to.be.lessThan(2);
365
- expect(otherSpy.callCount).to.be.lessThan(2);
366
- });
367
-
368
- it("doesn't call listeners to events that have been removed", function () {
369
- var obj = new Klass(),
370
- spy = sinon.spy();
371
-
372
- obj.once('test', spy, obj);
373
- obj.off('test', spy, obj);
374
-
375
- obj.fire('test');
376
-
377
- expect(spy.called).to.be(false);
378
- });
379
-
380
- it('works if called from a context that doesnt implement #Events', function () {
381
- var obj = new Klass(),
382
- spy = sinon.spy(),
383
- foo = {};
384
-
385
- obj.once('test', spy, foo);
386
-
387
- obj.fire('test');
388
-
389
- expect(spy.called).to.be(true);
390
- });
391
- });
392
- });