diff options
| -rw-r--r-- | src/pyramid/testing.py | 1 | ||||
| -rw-r--r-- | tests/test_testing.py | 14 |
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): |
