diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-02-03 16:29:32 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-02-03 16:29:32 +0000 |
| commit | 39fe84bf7304de1f2992abe48686f25922558b7c (patch) | |
| tree | 57b3252609d06ee346d3d8d764ca639b39456cd4 /repoze | |
| parent | 8d7bd500c1745005d8c4af284423b0547d8c7652 (diff) | |
| download | pyramid-39fe84bf7304de1f2992abe48686f25922558b7c.tar.gz pyramid-39fe84bf7304de1f2992abe48686f25922558b7c.tar.bz2 pyramid-39fe84bf7304de1f2992abe48686f25922558b7c.zip | |
- Add ` `renderer`` argument (defaulting to None) to
``repoze.bfg.testing.registerDummyRenderer``. This makes it
possible, for instance, to register a custom renderer that raises an
exception in a unit test.
Diffstat (limited to 'repoze')
| -rw-r--r-- | repoze/bfg/testing.py | 17 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_testing.py | 9 |
2 files changed, 18 insertions, 8 deletions
diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py index 77a1f05ad..6bc96fced 100644 --- a/repoze/bfg/testing.py +++ b/repoze/bfg/testing.py @@ -52,15 +52,16 @@ def registerEventListener(event_iface=Interface): registerSubscriber(subscriber, event_iface) return L -def registerDummyRenderer(path): - """ Create and register a dummy template renderer at ``path`` - (usually a relative filename ala ``templates/foo.pt``) and return - the renderer object. This function is useful when testing code - that calls the ``render_template_to_response`` or any other - ``render_template*`` API of any of the built-in templating - systems.""" +def registerDummyRenderer(path, renderer=None): + """ Register a 'renderer' at ``path`` (usually a relative filename + ala ``templates/foo.pt``) and return the renderer object. If the + ``renderer`` argument is None, a 'dummy' renderer will be used. + This function is useful when testing code that calls the + ``render_template_to_response`` or any other ``render_template*`` + API of any of the built-in templating systems.""" from repoze.bfg.interfaces import ITemplateRenderer - renderer = DummyTemplateRenderer() + if renderer is None: + renderer = DummyTemplateRenderer() return registerUtility(renderer, ITemplateRenderer, path) def registerView(name, result='', view=None, for_=(Interface, Interface)): diff --git a/repoze/bfg/tests/test_testing.py b/repoze/bfg/tests/test_testing.py index 019e0cc53..8aac7d5a0 100644 --- a/repoze/bfg/tests/test_testing.py +++ b/repoze/bfg/tests/test_testing.py @@ -56,6 +56,15 @@ class TestTestingFunctions(unittest.TestCase): response = render_template_to_response('templates/foo', foo=1, bar=2) self.assertEqual(dict(foo=1, bar=2), renderer._received) + def test_registerDummyRenderer_explicitrenderer(self): + from repoze.bfg import testing + def renderer(**kw): + raise ValueError + renderer = testing.registerDummyRenderer('templates/foo', renderer) + from repoze.bfg.chameleon_zpt import render_template_to_response + self.assertRaises(ValueError, render_template_to_response, + 'templates/foo', foo=1, bar=2) + def test_registerEventListener_single(self): from repoze.bfg import testing from zope.interface import implements |
