diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-10-28 23:12:41 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-10-28 23:12:41 +0000 |
| commit | 85078f4eb39c6827973292a628cdf5ff6b34249a (patch) | |
| tree | 2ec4d723643bfe73d2bd8f3f8e16415bc3e4acd4 /repoze/bfg/tests | |
| parent | b8a620bbb842c59336f8513e0d97de1074e815dc (diff) | |
| download | pyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.tar.gz pyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.tar.bz2 pyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.zip | |
- If the ``render_view_to_response`` function was called, if the
view was found and called, but it returned something that did not
implement IResponse, the error would pass by unflagged. This was
noticed when I created a view function that essentially returned
None, but received a NotFound error rather than a ValueError when
the view was rendered. This was fixed.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_view.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index 6eee8fbab..3636692a8 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -124,6 +124,27 @@ class RenderViewToResponseTests(unittest.TestCase, BaseTest): response = renderer(context, request, name='registered', secure=False) self.assertEqual(response.status, '200 OK') + + def test_call_view_response_doesnt_implement_IResponse(self): + context = DummyContext() + from zope.interface import Interface + from zope.interface import directlyProvides + from repoze.bfg.interfaces import IRequest + class IContext(Interface): + pass + directlyProvides(context, IContext) + response = 'abc' + view = make_view(response) + self._registerView(view, 'registered', IContext, IRequest) + environ = self._makeEnviron() + from webob import Request + request = Request(environ) + directlyProvides(request, IRequest) + renderer = self._getFUT() + self.assertRaises(ValueError, renderer, context, request, + name='registered', secure=False) + + class RenderViewToIterableTests(unittest.TestCase, BaseTest): def _getFUT(self): from repoze.bfg.view import render_view_to_iterable |
