summaryrefslogtreecommitdiff
path: root/tests/template_tests/test_context.py
diff options
context:
space:
mode:
authorTommy Beadle <tbeadle@arbor.net>2015-04-13 10:57:44 -0400
committerTim Graham <timograham@gmail.com>2015-04-14 08:01:16 -0400
commit6bfd864ff2a7d4903d485ee40094a1315da8221b (patch)
tree26c51d352c9e8aa8b2b919c226a61401260f87f6 /tests/template_tests/test_context.py
parentc612786cf15e2e1d00162ed4e335e83b75e6c978 (diff)
Fixed #24603 -- Allowed Context.update() to be used as a context manager.
Diffstat (limited to 'tests/template_tests/test_context.py')
-rw-r--r--tests/template_tests/test_context.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/template_tests/test_context.py b/tests/template_tests/test_context.py
index 9c23a38af2..f7959e6415 100644
--- a/tests/template_tests/test_context.py
+++ b/tests/template_tests/test_context.py
@@ -21,6 +21,8 @@ class ContextTests(SimpleTestCase):
self.assertEqual(c["a"], 1)
self.assertEqual(c.get("foo", 42), 42)
+ def test_push_context_manager(self):
+ c = Context({"a": 1})
with c.push():
c['a'] = 2
self.assertEqual(c['a'], 2)
@@ -30,6 +32,17 @@ class ContextTests(SimpleTestCase):
self.assertEqual(c['a'], 3)
self.assertEqual(c['a'], 1)
+ def test_update_context_manager(self):
+ c = Context({"a": 1})
+ with c.update({}):
+ c['a'] = 2
+ self.assertEqual(c['a'], 2)
+ self.assertEqual(c['a'], 1)
+
+ with c.update({'a': 3}):
+ self.assertEqual(c['a'], 3)
+ self.assertEqual(c['a'], 1)
+
def test_setdefault(self):
c = Context()