diff options
| author | Chris McDonough <chrism@plope.com> | 2013-09-09 21:12:53 -0400 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2013-09-09 21:12:53 -0400 |
| commit | b7e92d256826b53fa17b57040d527246f551b0da (patch) | |
| tree | ac636ecf59a85a9d49592ba3d4589ece873d1501 | |
| parent | 7b980354623908992c0aea4ae311a0e51ca83f30 (diff) | |
| download | pyramid-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__.py | 5 | ||||
| -rw-r--r-- | pyramid/config/rendering.py | 4 | ||||
| -rw-r--r-- | pyramid/testing.py | 13 | ||||
| -rw-r--r-- | 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) |
