summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2020-03-22 07:21:20 -0500
committerJason Madden <jamadden@gmail.com>2020-03-22 07:21:20 -0500
commitde12a4cf51440d404f2a2bc38b7316832dba7d45 (patch)
tree5fa91951c6f13251eb4df287a5619c8a3d056161 /src
parent9d64102f1aad5243918bad3665d08fb5905d39f5 (diff)
downloadzope-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.py2
-rw-r--r--src/zope/component/tests/test_globalregistry.py28
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())