diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-01 10:26:57 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-01 10:26:57 +0000 |
| commit | ba9b0e647bff1bf0c437ab204ddf11783ed698f8 (patch) | |
| tree | 1952ebfdc40ae71a3bc54eb10a92a0fe1e8273ec /repoze/bfg/tests | |
| parent | bc0698e1ac67106346d8c006bddcb38370f7c16b (diff) | |
| download | pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.tar.gz pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.tar.bz2 pyramid-ba9b0e647bff1bf0c437ab204ddf11783ed698f8.zip | |
Merge "c-free" branch to trunk.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_genshi.py | 187 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_zpt.py | 6 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_template.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_xslt.py | 221 |
4 files changed, 4 insertions, 412 deletions
diff --git a/repoze/bfg/tests/test_chameleon_genshi.py b/repoze/bfg/tests/test_chameleon_genshi.py deleted file mode 100644 index 6d62891bf..000000000 --- a/repoze/bfg/tests/test_chameleon_genshi.py +++ /dev/null @@ -1,187 +0,0 @@ -import unittest - -from zope.testing.cleanup import cleanUp - -class Base(object): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def _zcmlConfigure(self): - import repoze.bfg.includes - import zope.configuration.xmlconfig - zope.configuration.xmlconfig.file('configure.zcml', - package=repoze.bfg.includes) - - def _getTemplatePath(self, name): - import os - here = os.path.abspath(os.path.dirname(__file__)) - return os.path.join(here, 'fixtures', name) - -class GenshiTemplateRendererTests(Base, unittest.TestCase): - def _getTargetClass(self): - from repoze.bfg.chameleon_genshi import GenshiTemplateRenderer - return GenshiTemplateRenderer - - def _makeOne(self, *arg, **kw): - klass = self._getTargetClass() - return klass(*arg, **kw) - - def test_instance_implements_ITemplate(self): - from zope.interface.verify import verifyObject - from repoze.bfg.interfaces import ITemplateRenderer - path = self._getTemplatePath('minimal.genshi') - verifyObject(ITemplateRenderer, self._makeOne(path)) - - def test_class_implements_ITemplate(self): - from zope.interface.verify import verifyClass - from repoze.bfg.interfaces import ITemplateRenderer - verifyClass(ITemplateRenderer, self._getTargetClass()) - - def test_call(self): - self._zcmlConfigure() - minimal = self._getTemplatePath('minimal.genshi') - instance = self._makeOne(minimal) - result = instance() - self.failUnless(isinstance(result, str)) - self.assertEqual(result, - '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') - - def test_implementation(self): - self._zcmlConfigure() - minimal = self._getTemplatePath('minimal.genshi') - instance = self._makeOne(minimal) - result = instance.implementation()() - self.failUnless(isinstance(result, str)) - self.assertEqual(result, - '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') - -class RenderTemplateTests(Base, unittest.TestCase): - def _callFUT(self, name, **kw): - from repoze.bfg.chameleon_genshi import render_template - return render_template(name, **kw) - - def test_it(self): - minimal = self._getTemplatePath('minimal.genshi') - result = self._callFUT(minimal) - self.failUnless(isinstance(result, str)) - self.assertEqual(result, - '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') - -class RenderTemplateToResponseTests(Base, unittest.TestCase): - def _callFUT(self, name, **kw): - from repoze.bfg.chameleon_genshi import render_template_to_response - return render_template_to_response(name, **kw) - - def test_it(self): - minimal = self._getTemplatePath('minimal.genshi') - result = self._callFUT(minimal) - from webob import Response - self.failUnless(isinstance(result, Response)) - self.assertEqual(result.app_iter, - ['<div xmlns="http://www.w3.org/1999/xhtml">\n</div>']) - self.assertEqual(result.status, '200 OK') - self.assertEqual(len(result.headerlist), 2) - - def test_iresponsefactory_override(self): - from zope.component import getGlobalSiteManager - gsm = getGlobalSiteManager() - from webob import Response - class Response2(Response): - pass - from repoze.bfg.interfaces import IResponseFactory - gsm.registerUtility(Response2, IResponseFactory) - minimal = self._getTemplatePath('minimal.genshi') - result = self._callFUT(minimal) - self.failUnless(isinstance(result, Response2)) - -class GetRendererTests(Base, unittest.TestCase): - def _callFUT(self, name): - from repoze.bfg.chameleon_genshi import get_renderer - return get_renderer(name) - - def test_nonabs_registered(self): - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - from repoze.bfg.chameleon_genshi import GenshiTemplateRenderer - from repoze.bfg.interfaces import ITemplateRenderer - minimal = self._getTemplatePath('minimal.genshi') - utility = GenshiTemplateRenderer(minimal) - gsm = getGlobalSiteManager() - gsm.registerUtility(utility, ITemplateRenderer, name=minimal) - result = self._callFUT(minimal) - self.assertEqual(result, utility) - self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - - def test_nonabs_unregistered(self): - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - from repoze.bfg.chameleon_genshi import GenshiTemplateRenderer - from repoze.bfg.interfaces import ITemplateRenderer - minimal = self._getTemplatePath('minimal.genshi') - self.assertEqual(queryUtility(ITemplateRenderer, minimal), None) - utility = GenshiTemplateRenderer(minimal) - gsm = getGlobalSiteManager() - gsm.registerUtility(utility, ITemplateRenderer, name=minimal) - result = self._callFUT(minimal) - self.assertEqual(result, utility) - self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - - def test_explicit_registration(self): - from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITemplateRenderer - class Dummy: - template = object() - gsm = getGlobalSiteManager() - utility = Dummy() - gsm.registerUtility(utility, ITemplateRenderer, name='foo') - result = self._callFUT('foo') - self.failUnless(result is utility) - - -class GetTemplateTests(Base, unittest.TestCase): - def _callFUT(self, name): - from repoze.bfg.chameleon_genshi import get_template - return get_template(name) - - def test_nonabs_registered(self): - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - from repoze.bfg.chameleon_genshi import GenshiTemplateRenderer - from repoze.bfg.interfaces import ITemplateRenderer - minimal = self._getTemplatePath('minimal.genshi') - utility = GenshiTemplateRenderer(minimal) - gsm = getGlobalSiteManager() - gsm.registerUtility(utility, ITemplateRenderer, name=minimal) - result = self._callFUT(minimal) - self.assertEqual(result.filename, minimal) - self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - - def test_nonabs_unregistered(self): - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - from repoze.bfg.chameleon_genshi import GenshiTemplateRenderer - from repoze.bfg.interfaces import ITemplateRenderer - minimal = self._getTemplatePath('minimal.genshi') - self.assertEqual(queryUtility(ITemplateRenderer, minimal), None) - utility = GenshiTemplateRenderer(minimal) - gsm = getGlobalSiteManager() - gsm.registerUtility(utility, ITemplateRenderer, name=minimal) - result = self._callFUT(minimal) - self.assertEqual(result.filename, minimal) - self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - - def test_explicit_registration(self): - from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITemplateRenderer - class Dummy: - template = object() - def implementation(self): - return self.template - gsm = getGlobalSiteManager() - utility = Dummy() - gsm.registerUtility(utility, ITemplateRenderer, name='foo') - result = self._callFUT('foo') - self.failUnless(result is utility.template) diff --git a/repoze/bfg/tests/test_chameleon_zpt.py b/repoze/bfg/tests/test_chameleon_zpt.py index 114817994..e0ed74e5f 100644 --- a/repoze/bfg/tests/test_chameleon_zpt.py +++ b/repoze/bfg/tests/test_chameleon_zpt.py @@ -45,7 +45,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase): minimal = self._getTemplatePath('minimal.pt') instance = self._makeOne(minimal) result = instance() - self.failUnless(isinstance(result, str)) + self.failUnless(isinstance(result, unicode)) self.assertEqual(result, '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') @@ -54,7 +54,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase): minimal = self._getTemplatePath('minimal.pt') instance = self._makeOne(minimal) result = instance.implementation()() - self.failUnless(isinstance(result, str)) + self.failUnless(isinstance(result, unicode)) self.assertEqual(result, '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') @@ -68,7 +68,7 @@ class RenderTemplateTests(Base, unittest.TestCase): self._zcmlConfigure() minimal = self._getTemplatePath('minimal.pt') result = self._callFUT(minimal) - self.failUnless(isinstance(result, str)) + self.failUnless(isinstance(result, unicode)) self.assertEqual(result, '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') diff --git a/repoze/bfg/tests/test_template.py b/repoze/bfg/tests/test_template.py index 8d16972b8..78bd139c5 100644 --- a/repoze/bfg/tests/test_template.py +++ b/repoze/bfg/tests/test_template.py @@ -33,7 +33,7 @@ class RenderTemplateTests(Base, unittest.TestCase): self._zcmlConfigure() minimal = self._getTemplatePath('minimal.pt') result = self._callFUT(minimal) - self.failUnless(isinstance(result, str)) + self.failUnless(isinstance(result, unicode)) self.assertEqual(result, '<div xmlns="http://www.w3.org/1999/xhtml">\n</div>') diff --git a/repoze/bfg/tests/test_xslt.py b/repoze/bfg/tests/test_xslt.py deleted file mode 100644 index eed0fc808..000000000 --- a/repoze/bfg/tests/test_xslt.py +++ /dev/null @@ -1,221 +0,0 @@ -import unittest -from zope.testing.cleanup import cleanUp - -class Base(object): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def _zcmlConfigure(self): - import repoze.bfg.includes - import zope.configuration.xmlconfig - zope.configuration.xmlconfig.file('configure.zcml', - package=repoze.bfg.includes) - - def _getTemplatePath(self, name): - import os - here = os.path.abspath(os.path.dirname(__file__)) - return os.path.join(here, 'fixtures', name) - -class XSLTemplateRendererTests(Base, unittest.TestCase): - def _getTargetClass(self): - from repoze.bfg.xslt import XSLTemplateRenderer - return XSLTemplateRenderer - - def _makeOne(self, *arg, **kw): - klass = self._getTargetClass() - return klass(*arg, **kw) - - def test_instance_implements_INodeTemplate(self): - from zope.interface.verify import verifyObject - from repoze.bfg.interfaces import INodeTemplateRenderer - path = self._getTemplatePath('minimal.xsl') - verifyObject(INodeTemplateRenderer, self._makeOne(path)) - - def test_class_implements_INodeTemplate(self): - from zope.interface.verify import verifyClass - from repoze.bfg.interfaces import INodeTemplateRenderer - verifyClass(INodeTemplateRenderer, self._getTargetClass()) - - def test_call(self): - self._zcmlConfigure() - minimal = self._getTemplatePath('minimal.xsl') - instance = self._makeOne(minimal) - from lxml import etree - info = etree.Element("info") - result = instance(node=info) - self.failUnless(isinstance(result, str)) - resultstr = """<?xml version="1.0"?>\n<div/>\n""" - self.assertEqual(result, resultstr) - -class GetTransformTests(Base, unittest.TestCase): - def _callFUT(self, path, node): - from repoze.bfg.xslt import get_transform - return get_transform(path, node) - - def test_nonabs_registered(self): - from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import INodeTemplateRenderer - renderer = {} - gsm = getGlobalSiteManager() - minimal = self._getTemplatePath('minimal.xsl') - gsm.registerUtility(renderer, INodeTemplateRenderer, name=minimal) - result = self._callFUT('fixtures/minimal.xsl', None) - self.failUnless(result is renderer) - - def test_abs_registered(self): - from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import INodeTemplateRenderer - renderer = {} - gsm = getGlobalSiteManager() - minimal = self._getTemplatePath('minimal.xsl') - gsm.registerUtility(renderer, INodeTemplateRenderer, name=minimal) - result = self._callFUT(minimal, None) - self.failUnless(result is renderer) - - def test_unregistered(self): - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - from repoze.bfg.interfaces import INodeTemplateRenderer - minimal = self._getTemplatePath('minimal.xsl') - self.assertEqual(queryUtility(INodeTemplateRenderer, minimal), None) - gsm = getGlobalSiteManager() - result = self._callFUT(minimal, None) - self.assertEqual(queryUtility(INodeTemplateRenderer, minimal).path, - minimal) - - def test_unregistered_missing(self): - from zope.component import getGlobalSiteManager - minimal = self._getTemplatePath('notthere.xsl') - gsm = getGlobalSiteManager() - self.assertRaises(ValueError, self._callFUT, minimal, None) - -class RenderTransformToResponseTests(Base, unittest.TestCase): - def _callFUT(self, minimal, node): - from repoze.bfg.xslt import render_transform_to_response - return render_transform_to_response(minimal, node=node) - - def test_nonabs_unregistered(self): - self._zcmlConfigure() - from zope.component import queryUtility - from repoze.bfg.interfaces import INodeTemplateRenderer - minimal = self._getTemplatePath('minimal.xsl') - self.assertEqual(queryUtility(INodeTemplateRenderer, minimal), None) - from lxml import etree - info = etree.Element("info") - result = self._callFUT(minimal, node=info) - from webob import Response - self.failUnless(isinstance(result, Response)) - 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) - from repoze.bfg.xslt import XSLTemplateRenderer - self.failUnless(isinstance(queryUtility(INodeTemplateRenderer, minimal), - XSLTemplateRenderer)) - - def test_nonabs_registered(self): - self._zcmlConfigure() - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - 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) - from webob import Response - self.failUnless(isinstance(result, Response)) - 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(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 - return render_transform(path, node=node) - - def test_nonabs_unregistered(self): - self._zcmlConfigure() - from zope.component import queryUtility - from repoze.bfg.interfaces import INodeTemplateRenderer - minimal = self._getTemplatePath('minimal.xsl') - self.assertEqual(queryUtility(INodeTemplateRenderer, minimal), None) - from lxml import etree - info = etree.Element("info") - result = self._callFUT(minimal, node=info) - self.failUnless(isinstance(result, str)) - resultstr = """<?xml version="1.0"?>\n<div/>\n""" - self.assertEqual(result, resultstr) - from repoze.bfg.xslt import XSLTemplateRenderer - self.failUnless(isinstance(queryUtility(INodeTemplateRenderer, minimal), - XSLTemplateRenderer)) - - def test_nonabs_registered(self): - self._zcmlConfigure() - from zope.component import getGlobalSiteManager - from zope.component import queryUtility - 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, str)) - resultstr = """<?xml version="1.0"?>\n<div/>\n""" - self.assertEqual(result, resultstr) - self.assertEqual(queryUtility(INodeTemplateRenderer, minimal), utility) - -class TestGetProcessor(Base, unittest.TestCase): - def _callFUT(self, fn, auto_reload=False): - from repoze.bfg.xslt import get_processor - return get_processor(fn, auto_reload) - - def test_no_processors(self): - from lxml.etree import XSLT - from repoze.bfg.xslt import xslt_pool - del xslt_pool.processors - path = self._getTemplatePath('minimal.xsl') - result = self._callFUT(path) - self.failUnless(isinstance(result, XSLT)) - - def test_empty_processors(self): - from lxml.etree import XSLT - from repoze.bfg.xslt import xslt_pool - xslt_pool.processors = {} - path = self._getTemplatePath('minimal.xsl') - result = self._callFUT(path) - self.failUnless(isinstance(result, XSLT)) - |
