From 30e64f38f3a01d71f8a728df9d56f31d950ebd20 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 25 Apr 2010 18:49:29 +0000 Subject: Make default_notfound_view and default_forbidden_view expect an exception as a context. Cause append_slash_notfound_view to work in case it is registered via set_notfound_view. --- repoze/bfg/tests/test_configuration.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'repoze/bfg/tests/test_configuration.py') diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py index 90e074e9a..fa18b75cb 100644 --- a/repoze/bfg/tests/test_configuration.py +++ b/repoze/bfg/tests/test_configuration.py @@ -184,17 +184,34 @@ class ConfiguratorTests(unittest.TestCase): def subscribers(self, events, name): self.events = events return events - def registerUtility(self, impl, iface, name=None, info=None): + def registerUtility(self, *arg, **kw): pass reg = DummyRegistry() config = self._makeOne(reg) - config.set_notfound_view = lambda *arg, **kw: None - config.set_forbidden_view = lambda *arg, **kw: None + config.add_view = lambda *arg, **kw: False config.setup_registry() self.assertEqual(reg.has_listeners, True) self.assertEqual(reg.notify(1), None) self.assertEqual(reg.events, (1,)) + def test_setup_registry_registers_default_exception_views(self): + from repoze.bfg.exceptions import NotFound + from repoze.bfg.exceptions import Forbidden + from repoze.bfg.view import default_notfound_view + from repoze.bfg.view import default_forbidden_view + class DummyRegistry(object): + def registerUtility(self, *arg, **kw): + pass + reg = DummyRegistry() + config = self._makeOne(reg) + views = [] + config.add_view = lambda *arg, **kw: views.append((arg, kw)) + config.setup_registry() + self.assertEqual(views[0], ((default_notfound_view,), + {'context':NotFound})) + self.assertEqual(views[1], ((default_forbidden_view,), + {'context':Forbidden})) + def test_setup_registry_custom_settings(self): from repoze.bfg.registry import Registry from repoze.bfg.interfaces import ISettings -- cgit v1.2.3