diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-19 01:17:21 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-19 01:17:21 +0000 |
| commit | 4df5751de28947538da491dc8ebe0dfb27f742d5 (patch) | |
| tree | 491c7029cb50f4baed54ddf7485b4aa0bb02d739 /repoze/bfg/tests/test_xslt.py | |
| parent | 7bce0d6d925370dd5721100c28693f806b68344b (diff) | |
| download | pyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.tar.gz pyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.tar.bz2 pyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.zip | |
- The concept of "view factories" was removed in favor of always
calling a view, which is a callable that returns a response
directly (as opposed to returning a view). As a result, the
``factory`` attribute in the bfg:view ZCML statement has been
renamed to ``view``. Various interface names were changed also.
- ``render_template`` and ``render_transform`` no longer return a
Response object. Instead, these return strings. The old behavior
can be obtained by using ``render_template_to_response`` and
``render_transform_to_response``.
Diffstat (limited to 'repoze/bfg/tests/test_xslt.py')
| -rw-r--r-- | repoze/bfg/tests/test_xslt.py | 95 |
1 files changed, 65 insertions, 30 deletions
diff --git a/repoze/bfg/tests/test_xslt.py b/repoze/bfg/tests/test_xslt.py index ebf0e625d..01e5befba 100644 --- a/repoze/bfg/tests/test_xslt.py +++ b/repoze/bfg/tests/test_xslt.py @@ -34,21 +34,16 @@ class XSLTemplateFactoryTests(unittest.TestCase, Base): klass = self._getTargetClass() return klass(*arg, **kw) - def test_instance_conforms_to_INodeView(self): + def test_instance_implements_INodeTemplate(self): from zope.interface.verify import verifyObject - from repoze.bfg.interfaces import INodeView + from repoze.bfg.interfaces import INodeTemplate path = self._getTemplatePath('minimal.xsl') - verifyObject(INodeView, self._makeOne(path)) + verifyObject(INodeTemplate, self._makeOne(path)) - def test_class_conforms_to_INodeView(self): + def test_class_implements_INodeTemplate(self): from zope.interface.verify import verifyClass - from repoze.bfg.interfaces import INodeView - verifyClass(INodeView, self._getTargetClass()) - - def test_class_conforms_to_ITemplateFactory(self): - from zope.interface.verify import verifyObject - from repoze.bfg.interfaces import ITemplateFactory - verifyObject(ITemplateFactory, self._getTargetClass()) + from repoze.bfg.interfaces import INodeTemplate + verifyClass(INodeTemplate, self._getTargetClass()) def test_call(self): self._zcmlConfigure() @@ -57,14 +52,11 @@ class XSLTemplateFactoryTests(unittest.TestCase, Base): from lxml import etree info = etree.Element("info") result = instance(node=info) - from webob import Response - self.failUnless(isinstance(result, Response)) + self.failUnless(isinstance(result, str)) resultstr = """<?xml version="1.0"?>\n<div/>\n""" - self.assertEqual(result.app_iter, [resultstr]) - self.assertEqual(result.status, '200 OK') - self.assertEqual(len(result.headerlist), 2) + self.assertEqual(result, resultstr) -class RenderTemplateTests(unittest.TestCase, Base): +class RenderTransformToResponseTests(unittest.TestCase, Base): def setUp(self): Base.setUp(self) @@ -72,15 +64,15 @@ class RenderTemplateTests(unittest.TestCase, Base): Base.tearDown(self) def _getFUT(self): - from repoze.bfg.template import render_transform - return render_transform + from repoze.bfg.template import render_transform_to_response + return render_transform_to_response def test_nonabs_unregistered(self): self._zcmlConfigure() from zope.component import queryUtility - from repoze.bfg.interfaces import IView + from repoze.bfg.interfaces import INodeTemplate minimal = self._getTemplatePath('minimal.xsl') - self.assertEqual(queryUtility(IView, minimal), None) + self.assertEqual(queryUtility(INodeTemplate, minimal), None) render = self._getFUT() from lxml import etree info = etree.Element("info") @@ -92,7 +84,7 @@ class RenderTemplateTests(unittest.TestCase, Base): self.assertEqual(result.status, '200 OK') self.assertEqual(len(result.headerlist), 2) from repoze.bfg.template import XSLTemplateFactory - self.failUnless(isinstance(queryUtility(IView, minimal), + self.failUnless(isinstance(queryUtility(INodeTemplate, minimal), XSLTemplateFactory)) def test_nonabs_registered(self): @@ -100,11 +92,11 @@ class RenderTemplateTests(unittest.TestCase, Base): from zope.component import getGlobalSiteManager from zope.component import queryUtility from repoze.bfg.template import XSLTemplateFactory - from repoze.bfg.interfaces import IView + from repoze.bfg.interfaces import INodeTemplate minimal = self._getTemplatePath('minimal.xsl') utility = XSLTemplateFactory(minimal) gsm = getGlobalSiteManager() - gsm.registerUtility(utility, IView, name=minimal) + gsm.registerUtility(utility, INodeTemplate, name=minimal) render = self._getFUT() from lxml import etree info = etree.Element("info") @@ -115,9 +107,52 @@ class RenderTemplateTests(unittest.TestCase, Base): self.assertEqual(result.app_iter, [resultstr]) self.assertEqual(result.status, '200 OK') self.assertEqual(len(result.headerlist), 2) - self.assertEqual(queryUtility(IView, minimal), utility) - -class DummyView: - context = 'context' - request = 'request' - + self.assertEqual(queryUtility(INodeTemplate, minimal), utility) + +class RenderTransformTests(unittest.TestCase, Base): + def setUp(self): + Base.setUp(self) + + def tearDown(self): + Base.tearDown(self) + + def _getFUT(self): + from repoze.bfg.template import render_transform + return render_transform + + def test_nonabs_unregistered(self): + self._zcmlConfigure() + from zope.component import queryUtility + from repoze.bfg.interfaces import INodeTemplate + minimal = self._getTemplatePath('minimal.xsl') + self.assertEqual(queryUtility(INodeTemplate, minimal), None) + render = self._getFUT() + from lxml import etree + info = etree.Element("info") + result = render(minimal, node=info) + self.failUnless(isinstance(result, str)) + resultstr = """<?xml version="1.0"?>\n<div/>\n""" + self.assertEqual(result, resultstr) + from repoze.bfg.template import XSLTemplateFactory + self.failUnless(isinstance(queryUtility(INodeTemplate, minimal), + XSLTemplateFactory)) + + def test_nonabs_registered(self): + self._zcmlConfigure() + from zope.component import getGlobalSiteManager + from zope.component import queryUtility + from repoze.bfg.template import XSLTemplateFactory + from repoze.bfg.interfaces import INodeTemplate + minimal = self._getTemplatePath('minimal.xsl') + utility = XSLTemplateFactory(minimal) + gsm = getGlobalSiteManager() + gsm.registerUtility(utility, INodeTemplate, name=minimal) + render = self._getFUT() + from lxml import etree + info = etree.Element("info") + result = render(minimal, node=info) + self.failUnless(isinstance(result, str)) + resultstr = """<?xml version="1.0"?>\n<div/>\n""" + self.assertEqual(result, resultstr) + self.assertEqual(queryUtility(INodeTemplate, minimal), utility) + |
