From 160f01439dc3e0d865b2e77bb4a9a7c9e7a16c1a Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 20 Sep 2009 02:54:46 +0000 Subject: - Speed: do not register an ITraverserFactory in configure.zcml; instead rely on queryAdapter and a manual default to ModelGraphTraverser. - Speed: do not register an IContextURL in configure.zcml; instead rely on queryAdapter and a manual default to TraversalContextURL. - General speed microimprovements for helloworld benchmark: replace try/excepts with statements which use 'in' keyword. --- repoze/bfg/tests/test_router.py | 31 +++++++++++++++++++++++++++++++ repoze/bfg/tests/test_traversal.py | 9 ++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) (limited to 'repoze/bfg/tests') diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py index a96765a01..9f82ab4d3 100644 --- a/repoze/bfg/tests/test_router.py +++ b/repoze/bfg/tests/test_router.py @@ -137,6 +137,37 @@ class RouterTests(unittest.TestCase): from repoze.bfg.view import default_notfound_view self.assertEqual(router.notfound_view, default_notfound_view) + def test_call_traverser_default(self): + environ = self._makeEnviron() + context = DummyContext() + logger = self._registerLogger() + router = self._makeOne() + start_response = DummyStartResponse() + result = router(environ, start_response) + headers = start_response.headers + self.assertEqual(len(headers), 2) + status = start_response.status + self.assertEqual(status, '404 Not Found') + self.failUnless('/' in result[0], result) + self.failIf('debug_notfound' in result[0]) + self.assertEqual(len(logger.messages), 0) + + def test_has_webob_adhoc_attrs(self): + environ = self._makeEnviron() + environ['webob.adhoc_attrs'] = {} + context = DummyContext() + logger = self._registerLogger() + router = self._makeOne() + start_response = DummyStartResponse() + result = router(environ, start_response) + headers = start_response.headers + self.assertEqual(len(headers), 2) + status = start_response.status + self.assertEqual(status, '404 Not Found') + self.failUnless('/' in result[0], result) + self.failIf('debug_notfound' in result[0]) + self.assertEqual(len(logger.messages), 0) + def test_call_no_view_registered_no_isettings(self): environ = self._makeEnviron() context = DummyContext() diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 7c1acdacd..0fb0becfd 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -848,7 +848,7 @@ class TestVirtualRoot(unittest.TestCase): from repoze.bfg.traversal import virtual_root return virtual_root(model, request) - def test_it(self): + def test_registered(self): from zope.component import getGlobalSiteManager from repoze.bfg.interfaces import IContextURL from zope.interface import Interface @@ -860,6 +860,13 @@ class TestVirtualRoot(unittest.TestCase): result = self._callFUT(context, request) self.assertEqual(result, '123') + def test_default(self): + context = DummyContext() + request = DummyRequest() + request.environ['PATH_INFO'] = '/' + result = self._callFUT(context, request) + self.assertEqual(result, context) + class TraverseTests(unittest.TestCase): def setUp(self): cleanUp() -- cgit v1.2.3