summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAmy <leiamy12@gmail.com>2020-06-23 15:36:48 -0400
committerAmy <leiamy12@gmail.com>2021-03-30 01:43:51 -0400
commit49d5f9788c32033d624ce443f1830871a0c79675 (patch)
tree793912318fec0fdb5afa6e02a1a998b962f15017 /tests
parentf71f5ebab2e76c5ee6f5f705a2703f3891e762bc (diff)
downloadjinja2-49d5f9788c32033d624ce443f1830871a0c79675.tar.gz
fix bug with cached templates not using new globals
Diffstat (limited to 'tests')
-rw-r--r--tests/test_regression.py34
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"