diff options
author | Jason Madden <jamadden@gmail.com> | 2020-03-22 07:21:20 -0500 |
---|---|---|
committer | Jason Madden <jamadden@gmail.com> | 2020-03-22 07:21:20 -0500 |
commit | de12a4cf51440d404f2a2bc38b7316832dba7d45 (patch) | |
tree | 5fa91951c6f13251eb4df287a5619c8a3d056161 /src | |
parent | 9d64102f1aad5243918bad3665d08fb5905d39f5 (diff) | |
download | zope-component-issue45.tar.gz |
Ensure resolution order is consistent.issue45
Fixes #45.
Tests won't be green until zope.configuration is released with its corresponding fix, as well as zope.security (which needs BTrees).
Diffstat (limited to 'src')
-rw-r--r-- | src/zope/component/globalregistry.py | 2 | ||||
-rw-r--r-- | src/zope/component/tests/test_globalregistry.py | 28 |
2 files changed, 29 insertions, 1 deletions
diff --git a/src/zope/component/globalregistry.py b/src/zope/component/globalregistry.py index c40626c..80b0d72 100644 --- a/src/zope/component/globalregistry.py +++ b/src/zope/component/globalregistry.py @@ -37,7 +37,7 @@ class GlobalAdapterRegistry(AdapterRegistry): def __reduce__(self): return GAR, (self.__parent__, self.__name__) -@implementer(IComponentLookup) + class BaseGlobalComponents(Components): def _init_registries(self): diff --git a/src/zope/component/tests/test_globalregistry.py b/src/zope/component/tests/test_globalregistry.py index 618dc3d..9c0924c 100644 --- a/src/zope/component/tests/test_globalregistry.py +++ b/src/zope/component/tests/test_globalregistry.py @@ -244,3 +244,31 @@ class Test_provideHandler(unittest.TestCase): self.assertEqual(list(hr.required), [IFoo]) self.assertEqual(hr.name, '') self.assertTrue(hr.factory is _handler) + + +class TestBaseGlobalComponents(unittest.TestCase): + + from zope.component.testing import setUp, tearDown + + def _getTargetClass(self): + from zope.component.globalregistry import BaseGlobalComponents + return BaseGlobalComponents + + def _getTargetInterfaces(self): + from zope.interface.interfaces import IComponentLookup + from zope.interface.interfaces import IComponents + from zope.interface.interfaces import IComponentRegistry + return [IComponents, IComponentLookup, IComponentRegistry] + + def _makeOne(self): + return self._getTargetClass()() + + def test_verifyInstance(self): + from zope.interface.verify import verifyObject + for iface in self._getTargetInterfaces(): + verifyObject(iface, self._makeOne()) + + def test_verifyClass(self): + from zope.interface.verify import verifyClass + for iface in self._getTargetInterfaces(): + verifyClass(iface, self._getTargetClass()) |