diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-12-17 01:17:48 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-12-17 01:17:48 +0000 |
| commit | 5babbaf48a71af786d41f59a1f1f7d5272a60a4d (patch) | |
| tree | 4c3c4264e73410db07baffaebd879b36c4ae5aed /repoze/bfg/tests | |
| parent | 0bf2866211d095a18a5c61d7af644c8e17486e6e (diff) | |
| download | pyramid-5babbaf48a71af786d41f59a1f1f7d5272a60a4d.tar.gz pyramid-5babbaf48a71af786d41f59a1f1f7d5272a60a4d.tar.bz2 pyramid-5babbaf48a71af786d41f59a1f1f7d5272a60a4d.zip | |
- When Chameleon page or text templates were added imperatively (via
``Configurator.add_view`` or some derivative), they too-eagerly
attempted to look up the ``reload_templates`` setting via
``get_settings``, meaning they were always registered in
non-auto-reload-mode (the default). Each now waits until its
respective ``template`` attribute is accessed to look up the value.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_text.py | 7 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_zpt.py | 7 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_decorator.py | 23 |
3 files changed, 37 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_chameleon_text.py b/repoze/bfg/tests/test_chameleon_text.py index 54ffc8b10..007c102e3 100644 --- a/repoze/bfg/tests/test_chameleon_text.py +++ b/repoze/bfg/tests/test_chameleon_text.py @@ -47,6 +47,13 @@ class TextTemplateRendererTests(Base, unittest.TestCase): from repoze.bfg.interfaces import ITemplateRenderer verifyClass(ITemplateRenderer, self._getTargetClass()) + def test_template_reified(self): + minimal = self._getTemplatePath('minimal.txt') + instance = self._makeOne(minimal) + self.failIf('template' in instance.__dict__) + template = instance.template + self.assertEqual(template, instance.__dict__['template']) + def test_call(self): minimal = self._getTemplatePath('minimal.txt') instance = self._makeOne(minimal) diff --git a/repoze/bfg/tests/test_chameleon_zpt.py b/repoze/bfg/tests/test_chameleon_zpt.py index 38ef543cf..e4bf8f766 100644 --- a/repoze/bfg/tests/test_chameleon_zpt.py +++ b/repoze/bfg/tests/test_chameleon_zpt.py @@ -48,6 +48,13 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase): self.assertEqual(result, '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') + def test_template_reified(self): + minimal = self._getTemplatePath('minimal.pt') + instance = self._makeOne(minimal) + self.failIf('template' in instance.__dict__) + template = instance.template + self.assertEqual(template, instance.__dict__['template']) + def test_call_with_nondict_value(self): minimal = self._getTemplatePath('minimal.pt') instance = self._makeOne(minimal) diff --git a/repoze/bfg/tests/test_decorator.py b/repoze/bfg/tests/test_decorator.py new file mode 100644 index 000000000..b1ac2252d --- /dev/null +++ b/repoze/bfg/tests/test_decorator.py @@ -0,0 +1,23 @@ +import unittest + +class TestReify(unittest.TestCase): + def _makeOne(self, wrapped): + from repoze.bfg.decorator import reify + return reify(wrapped) + + def test___get__withinst(self): + def wrapped(inst): + return 'a' + decorator = self._makeOne(wrapped) + inst = Dummy() + result = decorator.__get__(inst) + self.assertEqual(result, 'a') + self.assertEqual(inst.__dict__['wrapped'], 'a') + + def test___get__noinst(self): + decorator = self._makeOne(None) + result = decorator.__get__(None) + self.assertEqual(result, decorator) + +class Dummy(object): + pass |
