diff options
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 |
