diff options
| -rw-r--r-- | RELEASING.txt | 6 | ||||
| -rw-r--r-- | TODO.txt | 2 | ||||
| -rw-r--r-- | pyramid/registry.py | 4 | ||||
| -rw-r--r-- | pyramid/tests/test_registry.py | 27 |
4 files changed, 28 insertions, 11 deletions
diff --git a/RELEASING.txt b/RELEASING.txt index 464cb37bd..c7a23309b 100644 --- a/RELEASING.txt +++ b/RELEASING.txt @@ -63,10 +63,10 @@ Prepare new release branch - Change setup.py version to the release version number. -- Make sure PyPI long description renders (requires ``collective.dist`` - installed into your Python):: +- Make sure PyPI long description renders (requires ``readme`` installed + into your Python):: - $ python setup.py check -r + $ python setup.py check -r -s -m - Create a release tag. @@ -114,8 +114,6 @@ Nice-to-Have Future ------ -- 1.6: Remove IContextURL and TraversalContextURL. - - 1.9: Remove set_request_property. - 1.9: Remove extra code enabling ``pyramid.security.remember(principal=...)`` and force use of ``userid``. diff --git a/pyramid/registry.py b/pyramid/registry.py index e2bcba9f9..20b3643e9 100644 --- a/pyramid/registry.py +++ b/pyramid/registry.py @@ -56,7 +56,7 @@ class Registry(Components, dict): _settings = None - def __init__(self, package_name=CALLER_PACKAGE): + def __init__(self, package_name=CALLER_PACKAGE, *args, **kw): # add a registry-instance-specific lock, which is used when the lookup # cache is mutated self._lock = threading.Lock() @@ -64,7 +64,7 @@ class Registry(Components, dict): self._clear_view_lookup_cache() if package_name is CALLER_PACKAGE: package_name = caller_package().__name__ - Components.__init__(self, package_name) + Components.__init__(self, package_name, *args, **kw) dict.__init__(self) def _clear_view_lookup_cache(self): diff --git a/pyramid/tests/test_registry.py b/pyramid/tests/test_registry.py index 7b3357e61..aa44b5408 100644 --- a/pyramid/tests/test_registry.py +++ b/pyramid/tests/test_registry.py @@ -5,8 +5,8 @@ class TestRegistry(unittest.TestCase): from pyramid.registry import Registry return Registry - def _makeOne(self): - return self._getTargetClass()() + def _makeOne(self, *args, **kw): + return self._getTargetClass()(*args, **kw) def test___nonzero__(self): registry = self._makeOne() @@ -24,11 +24,11 @@ class TestRegistry(unittest.TestCase): def test_package_name(self): package_name = 'testing' - registry = self._getTargetClass()(package_name) + registry = self._makeOne(package_name) self.assertEqual(registry.package_name, package_name) def test_default_package_name(self): - registry = self._getTargetClass()() + registry = self._makeOne() self.assertEqual(registry.package_name, 'pyramid.tests') def test_registerHandler_and_notify(self): @@ -61,6 +61,25 @@ class TestRegistry(unittest.TestCase): registry.settings = 'foo' self.assertEqual(registry._settings, 'foo') + def test_init_forwards_args(self): + from zope.interface import Interface + from zope.interface.registry import Components + dummy = object() + c = Components() + c.registerUtility(dummy, Interface) + registry = self._makeOne('foo', (c,)) + self.assertEqual(registry.__name__, 'foo') + self.assertEqual(registry.getUtility(Interface), dummy) + + def test_init_forwards_kw(self): + from zope.interface import Interface + from zope.interface.registry import Components + dummy = object() + c = Components() + c.registerUtility(dummy, Interface) + registry = self._makeOne(bases=(c,)) + self.assertEqual(registry.getUtility(Interface), dummy) + class TestIntrospector(unittest.TestCase): def _getTargetClass(slf): from pyramid.registry import Introspector |
