diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-11 22:43:27 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-11 22:43:27 +0000 |
| commit | b0a24149ffc4dd3b945b496e5cdb01111c8cf29a (patch) | |
| tree | da0d31fa9c46eb4e990c0df3dd116e8fa38dcd5c /repoze/bfg/tests/test_templating.py | |
| parent | d69635eb6237055e8b3ccedeeaa7114a7beed057 (diff) | |
| download | pyramid-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.py | 59 |
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 |
