summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pyramid/testing.py1
-rw-r--r--tests/test_testing.py14
2 files changed, 15 insertions, 0 deletions
diff --git a/src/pyramid/testing.py b/src/pyramid/testing.py
index ea86f5852..f700b5a4e 100644
--- a/src/pyramid/testing.py
+++ b/src/pyramid/testing.py
@@ -509,6 +509,7 @@ def setUp(
)
if settings is None:
settings = {}
+ config._fix_registry()
if getattr(registry, 'settings', None) is None:
config._set_settings(settings)
if hasattr(registry, 'registerUtility'):
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 16c94ee19..5e11c2487 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -434,6 +434,20 @@ class Test_setUp(unittest.TestCase):
config = self._callFUT(hook_zca=False, settings=dict(a=1))
self.assertEqual(config.registry.settings['a'], 1)
+ def test_it_with_unpatched_registry(self):
+ from zope.interface.registry import Components
+
+ class DummyRegistry(Components, dict):
+ pass
+
+ dummy_registry = DummyRegistry()
+ config = self._callFUT(
+ registry=dummy_registry, hook_zca=False, settings=dict(a=1)
+ )
+ self.assertEqual(config.registry.settings['a'], 1)
+ dummy = DummyEvent()
+ self.assertIs(dummy_registry.queryAdapterOrSelf(dummy, IDummy), dummy)
+
class Test_cleanUp(Test_setUp):
def _callFUT(self, *arg, **kw):