summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2013-09-09 21:12:53 -0400
committerChris McDonough <chrism@plope.com>2013-09-09 21:12:53 -0400
commitb7e92d256826b53fa17b57040d527246f551b0da (patch)
treeac636ecf59a85a9d49592ba3d4589ece873d1501
parent7b980354623908992c0aea4ae311a0e51ca83f30 (diff)
downloadpyramid-b7e92d256826b53fa17b57040d527246f551b0da.tar.gz
pyramid-b7e92d256826b53fa17b57040d527246f551b0da.tar.bz2
pyramid-b7e92d256826b53fa17b57040d527246f551b0da.zip
create an add_default_renderers method on the configurator and use it from testing.setUp() and within the Configurator constructor
-rw-r--r--pyramid/config/__init__.py5
-rw-r--r--pyramid/config/rendering.py4
-rw-r--r--pyramid/testing.py13
-rw-r--r--pyramid/tests/test_config/test_rendering.py10
4 files changed, 16 insertions, 16 deletions
diff --git a/pyramid/config/__init__.py b/pyramid/config/__init__.py
index 0fb7fa5d2..870f8b84d 100644
--- a/pyramid/config/__init__.py
+++ b/pyramid/config/__init__.py
@@ -62,7 +62,6 @@ from pyramid.config.adapters import AdaptersConfiguratorMixin
from pyramid.config.assets import AssetsConfiguratorMixin
from pyramid.config.factories import FactoriesConfiguratorMixin
from pyramid.config.i18n import I18NConfiguratorMixin
-from pyramid.config.rendering import DEFAULT_RENDERERS
from pyramid.config.rendering import RenderingConfiguratorMixin
from pyramid.config.routes import RoutesConfiguratorMixin
from pyramid.config.security import SecurityConfiguratorMixin
@@ -344,9 +343,7 @@ class Configurator(
registry.registerUtility(debug_logger, IDebugLogger)
- for name, renderer in DEFAULT_RENDERERS:
- self.add_renderer(name, renderer)
-
+ self.add_default_renderers()
self.add_default_view_predicates()
self.add_default_route_predicates()
diff --git a/pyramid/config/rendering.py b/pyramid/config/rendering.py
index 258c5a566..68671d08e 100644
--- a/pyramid/config/rendering.py
+++ b/pyramid/config/rendering.py
@@ -12,6 +12,10 @@ DEFAULT_RENDERERS = (
)
class RenderingConfiguratorMixin(object):
+ def add_default_renderers(self):
+ for name, renderer in DEFAULT_RENDERERS:
+ self.add_renderer(name, renderer)
+
@action_method
def add_renderer(self, name, factory):
"""
diff --git a/pyramid/testing.py b/pyramid/testing.py
index 789047ab3..4590c55f8 100644
--- a/pyramid/testing.py
+++ b/pyramid/testing.py
@@ -450,18 +450,7 @@ def setUp(registry=None, request=None, hook_zca=True, autocommit=True,
# someone may be passing us an esoteric "dummy" registry, and
# the below won't succeed if it doesn't have a registerUtility
# method.
- from pyramid.config import DEFAULT_RENDERERS
- for name, renderer in DEFAULT_RENDERERS:
- # Cause the default renderers to be registered because
- # in-the-wild test code relies on being able to call
- # e.g. ``pyramid.chameleon_zpt.render_template``
- # without registering a .pt renderer, expecting the "real"
- # template to be rendered. This is a holdover from when
- # individual template system renderers weren't indirected
- # by the ``pyramid.renderers`` machinery, and
- # ``render_template`` and friends went behind the back of
- # any existing renderer factory lookup system.
- config.add_renderer(name, renderer)
+ config.add_default_renderers()
config.add_default_view_predicates()
config.add_default_route_predicates()
config.commit()
diff --git a/pyramid/tests/test_config/test_rendering.py b/pyramid/tests/test_config/test_rendering.py
index 2c3730775..cede64d3a 100644
--- a/pyramid/tests/test_config/test_rendering.py
+++ b/pyramid/tests/test_config/test_rendering.py
@@ -6,6 +6,16 @@ class TestRenderingConfiguratorMixin(unittest.TestCase):
config = Configurator(*arg, **kw)
return config
+ def test_add_default_renderers(self):
+ from pyramid.config.rendering import DEFAULT_RENDERERS
+ from pyramid.interfaces import IRendererFactory
+ config = self._makeOne(autocommit=True)
+ config.add_default_renderers()
+ for name, impl in DEFAULT_RENDERERS:
+ self.assertTrue(
+ config.registry.queryUtility(IRendererFactory, name) is not None
+ )
+
def test_add_renderer(self):
from pyramid.interfaces import IRendererFactory
config = self._makeOne(autocommit=True)