From b0a24149ffc4dd3b945b496e5cdb01111c8cf29a Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 11 Jan 2009 22:43:27 +0000 Subject: - 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. --- repoze/bfg/tests/test_templating.py | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 repoze/bfg/tests/test_templating.py (limited to 'repoze/bfg/tests/test_templating.py') 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 -- cgit v1.2.3