From b7e92d256826b53fa17b57040d527246f551b0da Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 9 Sep 2013 21:12:53 -0400 Subject: create an add_default_renderers method on the configurator and use it from testing.setUp() and within the Configurator constructor --- pyramid/config/__init__.py | 5 +---- pyramid/config/rendering.py | 4 ++++ pyramid/testing.py | 13 +------------ pyramid/tests/test_config/test_rendering.py | 10 ++++++++++ 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) -- cgit v1.2.3