From 1646770c4eee27f37e53dcb50f8a271d5c278abf Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Thu, 29 Oct 2009 23:07:48 +0000 Subject: - The ``repoze.bfg.request.Request`` class, which is a subclass of ``webob.Request`` now defines its own ``__setattr__``, ``__getattr__`` and ``__delattr__`` methods, which override the default WebOb behavior. The default WebOb behavior stores attributes of the request in ``self.environ['webob.adhoc_attrs']``, and retrieves them from that dictionary during a ``__getattr__``. This behavior was undesirable for speed and "expectation" reasons. Now attributes of the ``request`` are stored in ``request.__dict__`` (as you otherwise might expect from an object that did not override these methods). - The router no longer calls ``repoze.bfg.traversal._traverse`` and does its work "inline" (speed). --- repoze/bfg/tests/test_traversal.py | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) (limited to 'repoze/bfg/tests/test_traversal.py') diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 8337385c4..451642e8c 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -964,35 +964,12 @@ class TraverseTests(unittest.TestCase): self.assertEqual(model.wascontext, True) self.assertEqual(model.environ['PATH_INFO'], '') -class UnderTraverseTests(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def _callFUT(self, context, environ): - from repoze.bfg.traversal import _traverse - return _traverse(context, environ) - - def _registerTraverser(self, traverser): - import zope.component - sm = zope.component.getSiteManager() - from repoze.bfg.interfaces import ITraverser - from zope.interface import Interface - sm.registerAdapter(traverser, (Interface,), ITraverser) - - def test_default_traverser_factory(self): - context = DummyContext() - result = self._callFUT(context, {}) + def test_default_traverser(self): + model = DummyContext() + result = self._callFUT(model, '') self.assertEqual(result['view_name'], '') - - def test_isdict(self): - traverser = make_traverser({}) - self._registerTraverser(traverser) - context = DummyContext() - result = self._callFUT(context, None) - self.assertEqual(result, {}) + self.assertEqual(result['context'], model) + def make_traverser(result): class DummyTraverser(object): -- cgit v1.2.3