Path: blob/main/tests/plugins/test_grouped_layer_control.py
1601 views
import folium1from folium.plugins import groupedlayercontrol2from folium.utilities import normalize345def test_grouped_layer_control():6m = folium.Map([40.0, 70.0], zoom_start=6)7fg1 = folium.FeatureGroup(name="g1")8fg2 = folium.FeatureGroup(name="g2")9fg3 = folium.FeatureGroup(name="g3")10folium.Marker([40, 74]).add_to(fg1)11folium.Marker([38, 72]).add_to(fg2)12folium.Marker([40, 72]).add_to(fg3)13m.add_child(fg1)14m.add_child(fg2)15m.add_child(fg3)16lc = groupedlayercontrol.GroupedLayerControl(groups={"groups1": [fg1, fg2]})17lc.add_to(m)18out = m._parent.render()19print(out)20out = normalize(out)2122assert (23"https://cdnjs.cloudflare.com/ajax/libs/leaflet-groupedlayercontrol/0.6.1/leaflet.groupedlayercontrol.min.js"24in out25)2627expected = normalize(28f"""29L.control.groupedLayers(30null,31{{32"groups1" : {{33"g1" : {fg1.get_name()},34"g2" : {fg2.get_name()},35}},36}},37{{"exclusiveGroups": ["groups1",],}},38).addTo({m.get_name()});39{fg2.get_name()}.remove();40"""41)42assert expected in out434445