/
test_boat_marker.py
50 lines (40 loc) · 1.32 KB
/
test_boat_marker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- coding: utf-8 -*-
"""
Test BoatMarker
---------------
"""
from jinja2 import Template
import folium
from folium import plugins
def test_boat_marker():
m = folium.Map([30., 0.], zoom_start=3)
bm1 = plugins.BoatMarker(
(34, -43),
heading=45,
wind_heading=150,
wind_speed=45,
color="#8f8")
bm2 = plugins.BoatMarker(
(46, -30),
heading=-20,
wind_heading=46,
wind_speed=25,
color="#88f")
m.add_children(bm1)
m.add_children(bm2)
m._repr_html_()
out = m._parent.render()
# We verify that the script import is present.
script = '<script src="https://thomasbrueggemann.github.io/leaflet.boatmarker/js/leaflet.boatmarker.min.js"></script>' # noqa
assert script in out
# We verify that the script part is correct.
tmpl = Template("""
var {{this.get_name()}} = L.boatMarker(
[{{this.location[0]}},{{this.location[1]}}],
{{this.kwargs}}).addTo({{this._parent.get_name()}});
{{this.get_name()}}.setHeadingWind({{this.heading}}, {{this.wind_speed}}, {{this.wind_heading}});
""") # noqa
assert tmpl.render(this=bm1) in out
assert tmpl.render(this=bm2) in out
bounds = m.get_bounds()
assert bounds == [[34, -43], [46, -30]], bounds