summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-08-06 18:00:57 -0400
committerChris McDonough <chrism@plope.com>2011-08-06 18:00:57 -0400
commitfeabd37caa3f860b550da904165ccb17252f2bf7 (patch)
tree93b498a72da0fa47e12ae3f718a040f06c0d1c12
parent46adcd6bd42318bea3c84bc8d86e3395d6d026d9 (diff)
downloadpyramid-feabd37caa3f860b550da904165ccb17252f2bf7.tar.gz
pyramid-feabd37caa3f860b550da904165ccb17252f2bf7.tar.bz2
pyramid-feabd37caa3f860b550da904165ccb17252f2bf7.zip
add setup_registry test
-rw-r--r--pyramid/config.py15
-rw-r--r--pyramid/tests/test_config.py14
2 files changed, 22 insertions, 7 deletions
diff --git a/pyramid/config.py b/pyramid/config.py
index 33e9db6a1..9136c0880 100644
--- a/pyramid/config.py
+++ b/pyramid/config.py
@@ -719,11 +719,11 @@ class Configurator(object):
if settings:
includes = settings.get('pyramid.include', '')
includes = [x.strip() for x in includes.splitlines()]
- expl_tweens = settings.get('pyramid.tweens','')
- expl_tweens = [x.strip() for x in expl_tweens.splitlines()]
+ tweens = settings.get('pyramid.tweens','')
+ tweens = [x.strip() for x in tweens.splitlines()]
else:
includes = []
- expl_tweens = []
+ tweens = []
registry = self.registry
self._fix_registry()
self._set_settings(settings)
@@ -734,10 +734,13 @@ class Configurator(object):
from webob.exc import WSGIHTTPException as WebobWSGIHTTPException
registry.registerSelfAdapter((WebobResponse,), IResponse)
# add a handler manager
- tweens = Tweens()
- registry.registerUtility(tweens, ITweens)
+ tweenreg = Tweens()
+ registry.registerUtility(tweenreg, ITweens)
self._add_tween('pyramid.router.excview_tween_factory', explicit=False)
+ for factory in tweens:
+ self._add_tween(factory, explicit=True)
+
if debug_logger is None:
debug_logger = logging.getLogger(self.package_name)
elif isinstance(debug_logger, basestring):
@@ -783,8 +786,6 @@ class Configurator(object):
if default_view_mapper is not None:
self.set_view_mapper(default_view_mapper)
self.commit()
- for factory in expl_tweens:
- self._add_tween(factory, explicit=True)
for inc in includes:
self.include(inc)
diff --git a/pyramid/tests/test_config.py b/pyramid/tests/test_config.py
index 7bf0e632f..0761498fb 100644
--- a/pyramid/tests/test_config.py
+++ b/pyramid/tests/test_config.py
@@ -583,6 +583,20 @@ pyramid.tests.test_config.dummy_include2""",
self.assert_(reg.included)
self.assert_(reg.also_included)
+ def test_setup_registry_tweens(self):
+ from pyramid.interfaces import ITweens
+ from pyramid.registry import Registry
+ reg = Registry()
+ config = self._makeOne(reg)
+ settings = {
+ 'pyramid.tweens': 'pyramid.tests.test_config.dummy_tween_factory'
+ }
+ config.setup_registry(settings=settings)
+ tweens = config.registry.getUtility(ITweens)
+ self.assertEqual(tweens.explicit,
+ [('pyramid.tests.test_config.dummy_tween_factory',
+ dummy_tween_factory)])
+
def test_get_settings_nosettings(self):
from pyramid.registry import Registry
reg = Registry()