diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-15 00:20:04 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-15 00:20:04 +0000 |
| commit | c8cf2256655ee4b34ec501325b9016608b5cce5f (patch) | |
| tree | 065c104d852d70389ce328813e2e8ea33e9885ce /repoze/bfg/tests/test_xslt.py | |
| parent | ec54985a5c27846a7e9444c22bcf46ae7e868b66 (diff) | |
| download | pyramid-c8cf2256655ee4b34ec501325b9016608b5cce5f.tar.gz pyramid-c8cf2256655ee4b34ec501325b9016608b5cce5f.tar.bz2 pyramid-c8cf2256655ee4b34ec501325b9016608b5cce5f.zip | |
- Instead of invariably using ``webob.Request`` as the "request
factory" (e.g. in the ``Router`` class) and ``webob.Response`` and
the "response factory" (e.g. in ``render_template_to_response``),
allow both to be overridden via a ZCML utility hook. See the "Using
ZCML Hooks" chapter of the documentation for more information.
Diffstat (limited to 'repoze/bfg/tests/test_xslt.py')
| -rw-r--r-- | repoze/bfg/tests/test_xslt.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_xslt.py b/repoze/bfg/tests/test_xslt.py index 3755ad8a5..38e693937 100644 --- a/repoze/bfg/tests/test_xslt.py +++ b/repoze/bfg/tests/test_xslt.py @@ -137,6 +137,28 @@ class RenderTransformToResponseTests(Base, unittest.TestCase): self.assertEqual(len(result.headerlist), 2) self.assertEqual(queryUtility(INodeTemplateRenderer, minimal), utility) + def test_alternate_iresponse_factory(self): + self._zcmlConfigure() + from repoze.bfg.interfaces import IResponseFactory + from zope.component import getGlobalSiteManager + gsm = getGlobalSiteManager() + from webob import Response + class Response2(Response): + pass + gsm.registerUtility(Response2, IResponseFactory) + from zope.component import getGlobalSiteManager + from repoze.bfg.xslt import XSLTemplateRenderer + from repoze.bfg.interfaces import INodeTemplateRenderer + minimal = self._getTemplatePath('minimal.xsl') + utility = XSLTemplateRenderer(minimal) + gsm = getGlobalSiteManager() + gsm.registerUtility(utility, INodeTemplateRenderer, name=minimal) + from lxml import etree + info = etree.Element("info") + result = self._callFUT(minimal, node=info) + self.failUnless(isinstance(result, Response2)) + + class RenderTransformTests(Base, unittest.TestCase): def _callFUT(self, path, node): from repoze.bfg.xslt import render_transform |
