diff options
author | Amy <leiamy12@gmail.com> | 2020-06-23 15:36:48 -0400 |
---|---|---|
committer | Amy <leiamy12@gmail.com> | 2021-03-30 01:43:51 -0400 |
commit | 49d5f9788c32033d624ce443f1830871a0c79675 (patch) | |
tree | 793912318fec0fdb5afa6e02a1a998b962f15017 /tests | |
parent | f71f5ebab2e76c5ee6f5f705a2703f3891e762bc (diff) | |
download | jinja2-49d5f9788c32033d624ce443f1830871a0c79675.tar.gz |
fix bug with cached templates not using new globals
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_regression.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_regression.py b/tests/test_regression.py index 716d4a0..945061a 100644 --- a/tests/test_regression.py +++ b/tests/test_regression.py @@ -716,3 +716,37 @@ End""" # values set within a block or loop should not # show up outside of it assert tmpl.render() == "42\n0\n24\n0\n42\n1\n24\n1\n42" + + def test_cached_extends(self): + env = Environment( + loader=DictLoader( + {"parent": "{{ foo }}", "child": "{% extends 'parent' %}"} + ) + ) + tmpl = env.get_template("child", globals={"foo": "bar"}) + assert tmpl.render() == "bar" + + tmpl = env.get_template("parent", globals={"foo": 42}) + assert tmpl.render() == "42" + + tmpl = env.get_template("child") + assert tmpl.render() == "bar" + + tmpl = env.get_template("parent") + assert tmpl.render() == "42" + + def test_cached_includes(self): + env = Environment( + loader=DictLoader({"base": "{{ foo }}", "main": "{% include 'base' %}"}) + ) + tmpl = env.get_template("main", globals={"foo": "bar"}) + assert tmpl.render() == "bar" + + tmpl = env.get_template("base", globals={"foo": 42}) + assert tmpl.render() == "42" + + tmpl = env.get_template("main") + assert tmpl.render() == "bar" + + tmpl = env.get_template("base") + assert tmpl.render() == "42" |