-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathtest_template.py
More file actions
81 lines (58 loc) · 2.3 KB
/
test_template.py
File metadata and controls
81 lines (58 loc) · 2.3 KB
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
from branca.element import Element
from folium import JsCode
from folium.template import Environment, Template
from folium.utilities import _to_escaped_json, tojavascript
def test_tojavascript_with_jscode():
js_code = JsCode("console.log('Hello, World!')")
assert tojavascript(js_code) == "console.log('Hello, World!')"
def test_tojavascript_with_element():
element = Element()
assert tojavascript(element) == element.get_name()
def test_tojavascript_with_dict():
dict_obj = {"key": "value"}
assert tojavascript(dict_obj) == '{\n "key": "value",\n}'
def test_tojavascript_with_dict_with_mixed_key_types():
dict_obj = {"key": "value", 1: "another value", 3.14: "pi"}
expected = '{\n "key": "value",\n 1: "another value",\n 3.14: "pi",\n}'
assert tojavascript(dict_obj) == expected
def test_tojavascript_with_list():
list_obj = ["value1", "value2"]
assert tojavascript(list_obj) == '[\n"value1",\n"value2",\n]'
def test_tojavascript_with_string():
assert tojavascript("Hello, World!") == _to_escaped_json("Hello, World!")
def test_tojavascript_with_combined_elements():
js_code = JsCode("console.log('Hello, World!')")
element = Element()
combined_dict = {
"key": "value",
"list": ["value1", "value2", element, js_code],
"nested_dict": {"nested_key": "nested_value"},
}
result = tojavascript(combined_dict)
expected_lines = [
"{",
' "key": "value",',
' "list": [',
'"value1",',
'"value2",',
element.get_name() + ",",
"console.log('Hello, World!'),",
"],",
' "nestedDict": {',
' "nestedKey": "nested_value",',
"},",
"}",
]
for result_line, expected_line in zip(result.splitlines(), expected_lines):
assert result_line == expected_line
def test_to_escaped_json():
assert _to_escaped_json("hi<>&'") == '"hi\\u003c\\u003e\\u0026\\u0027"'
def test_environment_filter():
env = Environment()
assert "tojavascript" in env.filters
def test_template_environment_class():
assert Template.environment_class == Environment
def test_jscode_with_parameters():
element = Element()
js_code = JsCode("var element = %(element)s", element=element)
assert js_code.js_code == f"var element = {element.get_name()}"