summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_templating.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-11 22:43:27 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-11 22:43:27 +0000
commitb0a24149ffc4dd3b945b496e5cdb01111c8cf29a (patch)
treeda0d31fa9c46eb4e990c0df3dd116e8fa38dcd5c /repoze/bfg/tests/test_templating.py
parentd69635eb6237055e8b3ccedeeaa7114a7beed057 (diff)
downloadpyramid-b0a24149ffc4dd3b945b496e5cdb01111c8cf29a.tar.gz
pyramid-b0a24149ffc4dd3b945b496e5cdb01111c8cf29a.tar.bz2
pyramid-b0a24149ffc4dd3b945b496e5cdb01111c8cf29a.zip
- Improve test coverage.
- Remove old cold which attempts to recover from trying to unpickle a ``z3c.pt`` template; Chameleon has been the templating engine for a good long time now. Running repoze.bfg against a sandbox that has pickled ``z3c.pt`` templates it will now just fail with an unpickling error, but can be fixed by deleting the template cache files.
Diffstat (limited to 'repoze/bfg/tests/test_templating.py')
-rw-r--r--repoze/bfg/tests/test_templating.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_templating.py b/repoze/bfg/tests/test_templating.py
new file mode 100644
index 000000000..3429b0839
--- /dev/null
+++ b/repoze/bfg/tests/test_templating.py
@@ -0,0 +1,59 @@
+import unittest
+from zope.testing.cleanup import cleanUp
+
+from repoze.bfg import testing
+
+class TestRendererFromCache(unittest.TestCase):
+ def setUp(self):
+ cleanUp()
+
+ def tearDown(self):
+ cleanUp()
+
+ def _callFUT(self, path, factory, level=3, **kw):
+ from repoze.bfg.templating import renderer_from_cache
+ return renderer_from_cache(path, factory, level, **kw)
+
+ def test_relpath_found(self):
+ renderer = {}
+ from repoze.bfg.interfaces import ITemplateRenderer
+ testing.registerUtility(renderer, ITemplateRenderer, name='foo/bar')
+ result = self._callFUT('foo/bar', None)
+ self.failUnless(renderer is result)
+
+ def test_abspath_found(self):
+ import os
+ here = os.path.dirname(__file__)
+ abspath = os.path.join(here, 'foo/bar')
+ from repoze.bfg.interfaces import ITemplateRenderer
+ renderer = {}
+ testing.registerUtility(renderer, ITemplateRenderer, name=abspath)
+ result = self._callFUT('foo/bar', None)
+ self.failUnless(renderer is result)
+
+ def test_notfound_missing(self):
+ import os
+ here = os.path.dirname(__file__)
+ abspath = os.path.join(here, 'foo/bar')
+ renderer = {}
+ self.assertRaises(ValueError, self._callFUT, 'foo/bar', None)
+
+ def test_withfactory(self):
+ renderer = {}
+ factory = DummyFactory(renderer)
+ import os
+ here = os.path.dirname(__file__)
+ abspath = os.path.join(here, 'pp.pt')
+ from repoze.bfg.interfaces import ITemplateRenderer
+ testing.registerUtility(renderer, ITemplateRenderer, name=abspath)
+ result = self._callFUT('pp.pt', factory)
+ self.failUnless(renderer is result)
+
+class DummyFactory:
+ def __init__(self, renderer):
+ self.renderer = renderer
+
+ def __call__(self, path, **kw):
+ self.path = path
+ self.kw = kw
+ return self.renderer