summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-12-07 20:00:31 +0000
committerChris McDonough <chrism@agendaless.com>2008-12-07 20:00:31 +0000
commit846a9862f7c8f987977cad6415cc0949542b0322 (patch)
tree7f1f995b950ee489d2a098a582dd1936c1eb76ba
parentd33f742c019afa8a5adfa889c0e02ad17b26bcf9 (diff)
downloadpyramid-846a9862f7c8f987977cad6415cc0949542b0322.tar.gz
pyramid-846a9862f7c8f987977cad6415cc0949542b0322.tar.bz2
pyramid-846a9862f7c8f987977cad6415cc0949542b0322.zip
- Remove the ``ITestingTemplateRenderer`` interface. When
``testing.registerDummyRenderer`` is used, it now registers a dummy implementation using ``ITemplateRenderer`` interface, which is checked for when the built-in templating facilities do rendering. This change also allows developers to make explcit named utility registrations in the ZCML registry against ``ITemplateRenderer``; these will be found before any on-disk template.
-rw-r--r--CHANGES.txt11
-rw-r--r--repoze/bfg/interfaces.py6
-rw-r--r--repoze/bfg/templating.py7
-rw-r--r--repoze/bfg/testing.py4
-rw-r--r--repoze/bfg/tests/test_chameleon_genshi.py12
-rw-r--r--repoze/bfg/tests/test_chameleon_text.py12
-rw-r--r--repoze/bfg/tests/test_chameleon_zpt.py12
7 files changed, 34 insertions, 30 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 07ad19439..286577d72 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,14 @@
+Next release
+
+ - Remove the ``ITestingTemplateRenderer`` interface. When
+ ``testing.registerDummyRenderer`` is used, it now registers a
+ dummy implementation using ``ITemplateRenderer`` interface, which
+ is checked for when the built-in templating facilities do
+ rendering. This change also allows developers to make explcit
+ named utility registrations in the ZCML registry against
+ ``ITemplateRenderer``; these will be found before any on-disk
+ template.
+
0.5.2 (12/5/2008)
- The component registration handler for views (functions or class
diff --git a/repoze/bfg/interfaces.py b/repoze/bfg/interfaces.py
index 71ef619c2..b05558c81 100644
--- a/repoze/bfg/interfaces.py
+++ b/repoze/bfg/interfaces.py
@@ -41,12 +41,6 @@ class ITemplateRenderer(Interface):
passed in as arguments and return the result (a string or
unicode object) """
-class ITestingTemplateRenderer(Interface):
- def __call__(**kw):
- """ Accept keywords and process for test comparison purposes
- (usually set all keywords as attributes of self); return value
- is a string """
-
class ITemplateRendererFactory(Interface):
def __call__(path, auto_reload=False):
""" Return an object that implements ``ITemplateRenderer`` """
diff --git a/repoze/bfg/templating.py b/repoze/bfg/templating.py
index 225a36358..a8f10ae8f 100644
--- a/repoze/bfg/templating.py
+++ b/repoze/bfg/templating.py
@@ -1,19 +1,18 @@
from zope.component import queryUtility
from repoze.bfg.interfaces import ITemplateRenderer
-from repoze.bfg.interfaces import ITestingTemplateRenderer
from zope.component.interfaces import ComponentLookupError
from zope.component import getSiteManager
from repoze.bfg.path import caller_path
import os
def renderer_from_cache(path, factory, level=3, **kw):
- # XXX use pkg_resources
abspath = caller_path(path, level=level)
renderer = queryUtility(ITemplateRenderer, abspath)
if renderer is None:
- # service unit tests by trying the relative path
- renderer = queryUtility(ITestingTemplateRenderer, path)
+ # service unit tests and explicit registrations by trying the relative
+ # "path"
+ renderer = queryUtility(ITemplateRenderer, path)
if renderer is None:
if not os.path.exists(abspath):
diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py
index 9eb45f75b..fb9453506 100644
--- a/repoze/bfg/testing.py
+++ b/repoze/bfg/testing.py
@@ -59,9 +59,9 @@ def registerDummyRenderer(path):
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 ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
renderer = DummyTemplateRenderer()
- return registerUtility(renderer, ITestingTemplateRenderer, path)
+ return registerUtility(renderer, ITemplateRenderer, path)
def registerView(name, result='', view=None, for_=(Interface, Interface)):
""" Registers ``repoze.bfg`` view function under the name
diff --git a/repoze/bfg/tests/test_chameleon_genshi.py b/repoze/bfg/tests/test_chameleon_genshi.py
index 5a31ca6fa..8012101f5 100644
--- a/repoze/bfg/tests/test_chameleon_genshi.py
+++ b/repoze/bfg/tests/test_chameleon_genshi.py
@@ -140,16 +140,16 @@ class GetRendererTests(unittest.TestCase, Base):
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('foo')
self.failUnless(result is utility)
@@ -195,16 +195,16 @@ class GetTemplateTests(unittest.TestCase, Base):
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('foo')
self.failUnless(result is utility.template)
diff --git a/repoze/bfg/tests/test_chameleon_text.py b/repoze/bfg/tests/test_chameleon_text.py
index 8e53b7ff9..594c2806f 100644
--- a/repoze/bfg/tests/test_chameleon_text.py
+++ b/repoze/bfg/tests/test_chameleon_text.py
@@ -150,16 +150,16 @@ class GetRendererTests(unittest.TestCase, Base):
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('foo')
self.failUnless(result is utility)
@@ -206,16 +206,16 @@ class GetTemplateTests(unittest.TestCase, Base):
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('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 3ec956217..d2ee1704f 100644
--- a/repoze/bfg/tests/test_chameleon_zpt.py
+++ b/repoze/bfg/tests/test_chameleon_zpt.py
@@ -143,16 +143,16 @@ class GetRendererTests(unittest.TestCase, Base):
self.assertEqual(result, utility)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('foo')
self.failUnless(result is utility)
@@ -199,16 +199,16 @@ class GetTemplateTests(unittest.TestCase, Base):
self.assertEqual(result.filename, minimal)
self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility)
- def test_testing(self):
+ def test_explicit_registration(self):
from zope.component import getGlobalSiteManager
- from repoze.bfg.interfaces import ITestingTemplateRenderer
+ from repoze.bfg.interfaces import ITemplateRenderer
class Dummy:
template = object()
def implementation(self):
return self.template
gsm = getGlobalSiteManager()
utility = Dummy()
- gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo')
+ gsm.registerUtility(utility, ITemplateRenderer, name='foo')
get = self._getFUT()
result = get('foo')
self.failUnless(result is utility.template)