Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
python-visualization
GitHub Repository: python-visualization/folium
Path: blob/main/tests/plugins/test_feature_group_sub_group.py
1601 views
1
"""
2
Test MarkerCluster
3
------------------
4
"""
5
6
import folium
7
from folium import plugins
8
from folium.template import Template
9
from folium.utilities import normalize
10
11
12
def test_feature_group_sub_group():
13
m = folium.Map([0.0, 0.0], zoom_start=6)
14
fg = folium.FeatureGroup()
15
m.add_child(fg)
16
g1 = plugins.FeatureGroupSubGroup(fg, "g1")
17
m.add_child(g1)
18
folium.Marker([1, 1]).add_to(g1)
19
folium.Marker([-1, -1]).add_to(g1)
20
g2 = plugins.FeatureGroupSubGroup(fg, "g2")
21
folium.Marker([-1, 1]).add_to(g2)
22
folium.Marker([1, -1]).add_to(g2)
23
m.add_child(g2)
24
folium.LayerControl().add_to(m)
25
26
out = normalize(m._parent.render())
27
28
# We verify that imports
29
assert (
30
'<script src="https://unpkg.com/[email protected]/dist/leaflet.featuregroup.subgroup.js"></script>' # noqa
31
in out
32
) # noqa
33
34
# Verify the script part is okay.
35
tmpl = Template(
36
"""
37
var {{ this.get_name() }} = L.featureGroup.subGroup(
38
{{ this._group.get_name() }}
39
);
40
"""
41
)
42
assert normalize(tmpl.render(this=g1)) in out
43
assert normalize(tmpl.render(this=g2)) in out
44
45
tmpl = Template("{{ this.get_name() }}.addTo({{ this._parent.get_name() }});")
46
assert normalize(tmpl.render(this=g1)) in out
47
assert normalize(tmpl.render(this=g2)) in out
48
49