summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_xslt.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-15 00:20:04 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-15 00:20:04 +0000
commitc8cf2256655ee4b34ec501325b9016608b5cce5f (patch)
tree065c104d852d70389ce328813e2e8ea33e9885ce /repoze/bfg/tests/test_xslt.py
parentec54985a5c27846a7e9444c22bcf46ae7e868b66 (diff)
downloadpyramid-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.py22
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