2007-12-03 07:57:22 +08:00
|
|
|
# coding: utf-8
|
2013-07-01 20:22:27 +08:00
|
|
|
|
|
|
|
from unittest import TestCase
|
|
|
|
|
2010-11-04 12:47:05 +08:00
|
|
|
from django.template import Context
|
2007-12-03 07:57:22 +08:00
|
|
|
|
|
|
|
|
2010-11-04 12:47:05 +08:00
|
|
|
class ContextTests(TestCase):
|
|
|
|
def test_context(self):
|
|
|
|
c = Context({"a": 1, "b": "xyzzy"})
|
|
|
|
self.assertEqual(c["a"], 1)
|
|
|
|
self.assertEqual(c.push(), {})
|
|
|
|
c["a"] = 2
|
|
|
|
self.assertEqual(c["a"], 2)
|
|
|
|
self.assertEqual(c.get("a"), 2)
|
|
|
|
self.assertEqual(c.pop(), {"a": 2})
|
|
|
|
self.assertEqual(c["a"], 1)
|
|
|
|
self.assertEqual(c.get("foo", 42), 42)
|
2013-07-16 19:11:32 +08:00
|
|
|
|
|
|
|
with c.push():
|
|
|
|
c['a'] = 2
|
|
|
|
self.assertEqual(c['a'], 2)
|
|
|
|
self.assertEqual(c['a'], 1)
|
|
|
|
|
|
|
|
with c.push(a=3):
|
|
|
|
self.assertEqual(c['a'], 3)
|
|
|
|
self.assertEqual(c['a'], 1)
|