diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-09-16 04:56:49 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-09-16 04:56:49 +0000 |
| commit | a9fed7675d8da572dee840676714b2653e3f7f79 (patch) | |
| tree | 93327afae95fb9cf6b1d0cb72da265af42a705bd /repoze/bfg/tests/test_zcml.py | |
| parent | a37220b84dee4cc8b1b12f34643ce97dad89ffe1 (diff) | |
| download | pyramid-a9fed7675d8da572dee840676714b2653e3f7f79.tar.gz pyramid-a9fed7675d8da572dee840676714b2653e3f7f79.tar.bz2 pyramid-a9fed7675d8da572dee840676714b2653e3f7f79.zip | |
Checkpoint. Not 100% test coverage.
Diffstat (limited to 'repoze/bfg/tests/test_zcml.py')
| -rw-r--r-- | repoze/bfg/tests/test_zcml.py | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py index 208e8e754..21d55504d 100644 --- a/repoze/bfg/tests/test_zcml.py +++ b/repoze/bfg/tests/test_zcml.py @@ -320,8 +320,7 @@ class TestViewDirective(unittest.TestCase): from zope.component import getSiteManager from repoze.bfg.interfaces import IRequest from repoze.bfg.interfaces import IView - from repoze.bfg.interfaces import IViewPermission - + from repoze.bfg.interfaces import IRendererFactory import repoze.bfg.tests context = DummyContext(repoze.bfg.tests) @@ -335,9 +334,17 @@ class TestViewDirective(unittest.TestCase): def __call__(self): return {'a':'1'} - import os + class Renderer: + def __call__(self, path): + self.path = path + return lambda *arg: 'Hello!' + + renderer = Renderer() + sm = getSiteManager() + sm.registerUtility(renderer, IRendererFactory, name='.txt') + fixture = 'fixtures/minimal.txt' - self._callFUT(context, 'repoze.view', IFoo, view=view, template=fixture) + self._callFUT(context, 'repoze.view', IFoo, view=view, renderer=fixture) actions = context.actions self.assertEqual(len(actions), 1) @@ -347,29 +354,33 @@ class TestViewDirective(unittest.TestCase): self.assertEqual(action['discriminator'], discrim) register = action['callable'] register() - sm = getSiteManager() wrapper = sm.adapters.lookup((IFoo, IRequest), IView, name='') self.assertEqual(wrapper.__module__, view.__module__) self.assertEqual(wrapper.__name__, view.__name__) self.assertEqual(wrapper.__doc__, view.__doc__) - result = wrapper(None, None) - self.assertEqual(result.body, 'Hello.\n') + request = DummyRequest() + result = wrapper(None, request) + self.assertEqual(result.body, 'Hello!') + self.assertEqual(renderer.path, 'repoze.bfg.tests:fixtures/minimal.txt') def test_with_template_no_view_callable(self): from zope.interface import Interface from zope.component import getSiteManager from repoze.bfg.interfaces import IRequest from repoze.bfg.interfaces import IView - from repoze.bfg.interfaces import IViewPermission + from repoze.bfg.interfaces import IRendererFactory import repoze.bfg.tests context = DummyContext(repoze.bfg.tests) class IFoo(Interface): pass - import os - fixture = 'fixtures/minimal.txt' - self._callFUT(context, 'repoze.view', IFoo, template=fixture) + sm = getSiteManager() + def renderer_factory(path): + return lambda *arg: 'Hello!' + sm.registerUtility(renderer_factory, IRendererFactory, name='.txt') + + self._callFUT(context, 'repoze.view', IFoo, renderer='foo.txt') actions = context.actions self.assertEqual(len(actions), 1) @@ -379,10 +390,11 @@ class TestViewDirective(unittest.TestCase): self.assertEqual(action['discriminator'], discrim) register = action['callable'] register() - sm = getSiteManager() wrapper = sm.adapters.lookup((IFoo, IRequest), IView, name='') - result = wrapper(None, None) - self.assertEqual(result.body, 'Hello.\n') + request = DummyRequest() + request.environ = {} + result = wrapper(None, request) + self.assertEqual(result.body, 'Hello!') def test_request_type_asinterface(self): from zope.component import getSiteManager |
