forked from randyzwitch/streamlit-folium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_package.py
119 lines (84 loc) · 2.66 KB
/
test_package.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
def test_map():
import folium
from streamlit_folium import _get_map_string
map = folium.Map()
map.render()
leaflet = _get_map_string(map)
assert (
"""var map_div = L.map(
"map_div",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
zoom: 1,
zoomControl: true,
preferCanvas: false,
}
);"""
in leaflet
)
assert "var tile_layer_div_0 = L.tileLayer(" in leaflet
assert ".addTo(map_div);" in leaflet
def test_layer_control():
import folium
from streamlit_folium import generate_leaflet_string
map = folium.Map()
folium.LayerControl().add_to(map)
map.render()
leaflet = generate_leaflet_string(map)
assert "var tile_layer_div_0 = L.tileLayer(" in leaflet
assert '"openstreetmap" : tile_layer_div_0,' in leaflet
def test_draw_support():
import folium
from folium.plugins import Draw
from streamlit_folium import _get_map_string
map = folium.Map()
Draw(export=True).add_to(map)
map.render()
leaflet = _get_map_string(map)
assert "map_div.on(L.Draw.Event.CREATED, function(e) {" in leaflet
assert "drawnItems.addLayer(layer);" in leaflet
assert (
"""map_div.on('draw:created', function(e) {
drawnItems.addLayer(e.layer);
});"""
in leaflet
)
assert (
"""var draw_control_div_1 = new L.Control.Draw(
options
).addTo( map_div );"""
in leaflet
)
assert "alert" not in leaflet
def test_map_id():
import folium
from streamlit_folium import _get_map_string
map = folium.Map()
leaflet = _get_map_string(map)
assert "var map_div = L.map(" in leaflet
def test_feature_group():
import folium
from streamlit_folium import _get_feature_group_string
fg = folium.FeatureGroup()
m = folium.Map()
fg_str = _get_feature_group_string(fg, m)
assert "var feature_group_feature_group_0 = L.featureGroup(" in fg_str
assert ".addTo(map_div);" in fg_str
def test_dual_map():
import folium.plugins
from streamlit_folium import _get_map_string
dual_map = folium.plugins.DualMap()
dual_map.render()
map_str = _get_map_string(dual_map)
assert "var map_div = L.map(" in map_str
assert "var map_div2 = L.map(" in map_str
def test_vector_grid():
import folium
from folium.plugins import VectorGridProtobuf
from streamlit_folium import _get_map_string
m = folium.Map()
url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"
VectorGridProtobuf(url, "test").add_to(m)
leaflet = _get_map_string(m)
assert "var vector_grid_protobuf_div_1 = L.vectorGrid.protobuf(" in leaflet