diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-08 04:37:07 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-08 04:37:07 +0000 |
| commit | 4bf7723f67b49cb14f0d82511a924adc1147505c (patch) | |
| tree | cd60d3acdb8deca1cbc40b984dbadedb71ccafc3 /repoze/bfg/tests/test_template.py | |
| parent | 703422d397607eefb5fe695c657e5b59991ed9c1 (diff) | |
| download | pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.tar.gz pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.tar.bz2 pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.zip | |
Add a browser:page directive type and make our sample app use it.
Diffstat (limited to 'repoze/bfg/tests/test_template.py')
| -rw-r--r-- | repoze/bfg/tests/test_template.py | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_template.py b/repoze/bfg/tests/test_template.py new file mode 100644 index 000000000..67f4e3c47 --- /dev/null +++ b/repoze/bfg/tests/test_template.py @@ -0,0 +1,103 @@ +import unittest + +from zope.component.testing import PlacelessSetup + +class Base(PlacelessSetup): + def setUp(self): + PlacelessSetup.setUp(self) + + def tearDown(self): + PlacelessSetup.tearDown(self) + + def _zcmlConfigure(self): + import repoze.bfg + import zope.configuration.xmlconfig + zope.configuration.xmlconfig.file('configure.zcml', package=repoze.bfg) + + def _getTemplatePath(self, name): + import os + here = os.path.abspath(os.path.dirname(__file__)) + return os.path.join(here, 'fixtures', name) + + +class PageTemplateFileTests(unittest.TestCase, Base): + def setUp(self): + Base.setUp(self) + + def tearDown(self): + Base.tearDown(self) + + def _getTargetClass(self): + from repoze.bfg.template import PageTemplateFile + return PageTemplateFile + + def _makeOne(self, *arg, **kw): + klass = self._getTargetClass() + return klass(*arg, **kw) + + def test_render(self): + self._zcmlConfigure() + minimal = self._getTemplatePath('minimal.pt') + instance = self._makeOne(minimal) + result = instance.render() + from webob import Response + self.failUnless(isinstance(result, Response)) + self.assertEqual(result.app_iter, ['<div>\n</div>']) + self.assertEqual(result.status, '200 OK') + self.assertEqual(len(result.headerlist), 2) + +class ViewPageTemplateFileTests(unittest.TestCase, Base): + def setUp(self): + Base.setUp(self) + + def tearDown(self): + Base.tearDown(self) + + def _getTargetClass(self): + from repoze.bfg.template import ViewPageTemplateFile + return ViewPageTemplateFile + + def _makeOne(self, *arg, **kw): + klass = self._getTargetClass() + return klass(*arg, **kw) + + def test_render(self): + self._zcmlConfigure() + minimal = self._getTemplatePath('minimal.pt') + instance = self._makeOne(minimal) + class View: + context = 'context' + request = 'request' + view = View() + template = instance.render(view) + result = template() + from webob import Response + self.failUnless(isinstance(result, Response)) + self.assertEqual(result.app_iter, ['<div>\n</div>']) + self.assertEqual(result.status, '200 OK') + self.assertEqual(len(result.headerlist), 2) + +class BrowserViewTests(unittest.TestCase, Base): + def setUp(self): + Base.setUp(self) + + def tearDown(self): + Base.tearDown(self) + + def _getTargetClass(self): + from repoze.bfg.template import BrowserView + return BrowserView + + def _makeOne(self, *arg, **kw): + klass = self._getTargetClass() + return klass(*arg, **kw) + + def test_call(self): + view = self._makeOne(None, None) + _marker = () + view.index = lambda *arg, **kw: _marker + result = view('foo') + self.assertEqual(result, _marker) + + + |
