From 6ae0139d3682730e44a3b2330f83d10b31ebbc95 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Thu, 9 Sep 2010 06:53:51 +0000 Subject: - The ``traverse`` route predicate could not successfully generate a traversal path. --- repoze/bfg/configuration.py | 5 +++-- repoze/bfg/tests/test_configuration.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'repoze') diff --git a/repoze/bfg/configuration.py b/repoze/bfg/configuration.py index 5a97c4f38..06115abf7 100644 --- a/repoze/bfg/configuration.py +++ b/repoze/bfg/configuration.py @@ -2022,8 +2022,9 @@ def _make_predicates(xhr=None, request_method=None, path_info=None, def traverse_predicate(context, request): if 'traverse' in context: return True - tvalue = tgenerate(context) - context['traverse'] = traversal_path(tvalue) + m = context['match'] + tvalue = tgenerate(m) + m['traverse'] = traversal_path(tvalue) return True # This isn't actually a predicate, it's just a infodict # modifier that injects ``traverse`` into the matchdict. As a diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py index 062fbfa0b..2724b3381 100644 --- a/repoze/bfg/tests/test_configuration.py +++ b/repoze/bfg/tests/test_configuration.py @@ -3440,11 +3440,12 @@ class Test__make_predicates(unittest.TestCase): order, predicates, phash = self._callFUT(traverse='/1/:a/:b') self.assertEqual(len(predicates), 1) pred = predicates[0] - info = {'a':'a', 'b':'b'} + info = {'match':{'a':'a', 'b':'b'}} request = DummyRequest() result = pred(info, request) self.assertEqual(result, True) - self.assertEqual(info, {'a':'a', 'b':'b', 'traverse':('1', 'a', 'b')}) + self.assertEqual(info, {'match': + {'a':'a', 'b':'b', 'traverse':('1', 'a', 'b')}}) class TestMultiView(unittest.TestCase): def _getTargetClass(self): -- cgit v1.2.3