Path: blob/main/tests/plugins/test_vectorgrid_protobuf.py
1601 views
"""1Test VectorGridProtobuf2---------------3"""45import json67import folium8from folium.plugins import VectorGridProtobuf9from folium.utilities import normalize101112def test_vectorgrid():13m = folium.Map(location=(30, 20), zoom_start=4)14url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"15vc = VectorGridProtobuf(url, "test").add_to(m)16out = normalize(m._parent.render())1718expected = normalize(VectorGridProtobuf._template.render(this=vc))19assert expected in out2021script = f'<script src="{VectorGridProtobuf.default_js[0][1]}"></script>'22assert script in out23assert url in out24assert "L.vectorGrid.protobuf" in out252627def test_vectorgrid_str_options():28m = folium.Map(location=(30, 20), zoom_start=4)29url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"30options = """{31"subdomain": "test",32"token": "test_token",33"vectorTileLayerStyles": {34"all": {35"fill": true,36"weight": 1,37"fillColor": "green",38"color": "black",39"fillOpacity": 0.6,40"opacity": 0.641}42}43}"""4445vc = VectorGridProtobuf(url, "test", options)46m.add_child(vc)4748dict_options = json.loads(options)4950out = normalize(m._parent.render())51script = f'<script src="{VectorGridProtobuf.default_js[0][1]}"></script>'5253assert script in out54assert url in out55assert "L.vectorGrid.protobuf" in out56assert '"token": "test_token"' in out57assert '"subdomain": "test"' in out5859for k, v in dict_options["vectorTileLayerStyles"]["all"].items():60if type(v) == bool:61assert f'"{k}": {str(v).lower()}' in out62continue63if type(v) == str:64assert f'"{k}": "{v}"' in out65continue6667assert f'"{k}": {v}' in out686970def test_vectorgrid_dict_options():71m = folium.Map(location=(30, 20), zoom_start=4)72url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"73options = {74"subdomain": "test",75"token": "test_token",76"vectorTileLayerStyles": {77"all": {78"fill": True,79"weight": 1,80"fillColor": "grey",81"color": "purple",82"fillOpacity": 0.3,83"opacity": 0.6,84}85},86}8788vc = VectorGridProtobuf(url, "test", options)89m.add_child(vc)9091out = normalize(m._parent.render())92script = f'<script src="{VectorGridProtobuf.default_js[0][1]}"></script>'9394assert script in out95assert url in out96assert "L.vectorGrid.protobuf" in out97assert '"token": "test_token"' in out98assert '"subdomain": "test"' in out99100for k, v in options["vectorTileLayerStyles"]["all"].items():101if type(v) == bool:102assert f'"{k}": {str(v).lower()}' in out103continue104if type(v) == str:105assert f'"{k}": "{v}"' in out106continue107108assert f'"{k}": {v}' in out109110111