diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-09-09 06:53:51 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-09-09 06:53:51 +0000 |
| commit | 6ae0139d3682730e44a3b2330f83d10b31ebbc95 (patch) | |
| tree | affa2b69b6d9e464aec2b450b1d8ce6a9a8c916c | |
| parent | 2bb1eaff080eb6a7392bc3ccd704d260e0386541 (diff) | |
| download | pyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.tar.gz pyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.tar.bz2 pyramid-6ae0139d3682730e44a3b2330f83d10b31ebbc95.zip | |
- The ``traverse`` route predicate could not successfully generate a
traversal path.
| -rw-r--r-- | CHANGES.txt | 6 | ||||
| -rw-r--r-- | repoze/bfg/configuration.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_configuration.py | 5 |
3 files changed, 12 insertions, 4 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 71164a681..44970b230 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,9 @@ +Next release +============ + +- The ``traverse`` route predicate could not successfully generate a + traversal path. + 1.3a12 (2010-09-08) =================== 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): |
