summaryrefslogtreecommitdiff
path: root/repoze
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-09-09 06:53:51 +0000
committerChris McDonough <chrism@agendaless.com>2010-09-09 06:53:51 +0000
commit6ae0139d3682730e44a3b2330f83d10b31ebbc95 (patch)
treeaffa2b69b6d9e464aec2b450b1d8ce6a9a8c916c /repoze
parent2bb1eaff080eb6a7392bc3ccd704d260e0386541 (diff)
downloadpyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.tar.gz
pyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.tar.bz2
pyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.zip
- The ``traverse`` route predicate could not successfully generate a
traversal path.
Diffstat (limited to 'repoze')
-rw-r--r--repoze/bfg/configuration.py5
-rw-r--r--repoze/bfg/tests/test_configuration.py5
2 files changed, 6 insertions, 4 deletions
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):