diff options
| author | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
|---|---|---|
| committer | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
| commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
| tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/python/Jinja2/py3/tests/test_compile.py | |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/python/Jinja2/py3/tests/test_compile.py')
| -rw-r--r-- | contrib/python/Jinja2/py3/tests/test_compile.py | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/contrib/python/Jinja2/py3/tests/test_compile.py b/contrib/python/Jinja2/py3/tests/test_compile.py new file mode 100644 index 00000000000..42a773f21cc --- /dev/null +++ b/contrib/python/Jinja2/py3/tests/test_compile.py @@ -0,0 +1,28 @@ +import os +import re + +from jinja2.environment import Environment +from jinja2.loaders import DictLoader + + +def test_filters_deterministic(tmp_path): +    src = "".join(f"{{{{ {i}|filter{i} }}}}" for i in range(10)) +    env = Environment(loader=DictLoader({"foo": src})) +    env.filters.update(dict.fromkeys((f"filter{i}" for i in range(10)), lambda: None)) +    env.compile_templates(tmp_path, zip=None) +    name = os.listdir(tmp_path)[0] +    content = (tmp_path / name).read_text("utf8") +    expect = [f"filters['filter{i}']" for i in range(10)] +    found = re.findall(r"filters\['filter\d']", content) +    assert found == expect + + +def test_import_as_with_context_deterministic(tmp_path): +    src = "\n".join(f'{{% import "bar" as bar{i} with context %}}' for i in range(10)) +    env = Environment(loader=DictLoader({"foo": src})) +    env.compile_templates(tmp_path, zip=None) +    name = os.listdir(tmp_path)[0] +    content = (tmp_path / name).read_text("utf8") +    expect = [f"'bar{i}': " for i in range(10)] +    found = re.findall(r"'bar\d': ", content)[:10] +    assert found == expect | 
