diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-09-23 10:51:52 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-09-23 10:51:52 +0000 |
| commit | 391afe80244035e5294b085fdc4324c56cc5f1ca (patch) | |
| tree | 1852fdd152054e2a13d9e94c7a4f7ecce34dddcc /repoze/bfg/tests/test_traversal.py | |
| parent | eb9fbf5f24b5e41cadd1eac8ca970ba819ecb6a5 (diff) | |
| download | pyramid-391afe80244035e5294b085fdc4324c56cc5f1ca.tar.gz pyramid-391afe80244035e5294b085fdc4324c56cc5f1ca.tar.bz2 pyramid-391afe80244035e5294b085fdc4324c56cc5f1ca.zip | |
- Speed up ``repoze.bfg.traversal.model_path``.
- Speed up ``repoze.bfg.traversal.model_path_tuple`` slightly.
- Speed up ``repoze.bfg.traversal.traverse`` slightly.
- In 0.8a7, the return value expected from an object implementing
``ITraverserFactory`` was changed from a sequence of values to a
dictionary containing the keys ``context``, ``view_name``,
``subpath``, ``traversed``, ``virtual_root``, ``virtual_root_path``,
and ``root``. Until now, old-style traversers which returned a
sequence have continued to work but have generated a deprecation
warning. In this release, traversers which return a sequence
instead of a dictionary will no longer work.
Diffstat (limited to 'repoze/bfg/tests/test_traversal.py')
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 3f347dc22..a4e90bc07 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -953,6 +953,17 @@ class TraverseTests(unittest.TestCase): self.assertEqual(root.wascontext, True) self.assertEqual(root.environ['PATH_INFO'], '/') + def test_empty_sequence(self): + root = DummyContext() + model = DummyContext() + model.__parent__ = root + model.__name__ = 'baz' + traverser = make_traverser({'context':root, 'view_name':''}) + self._registerTraverserFactory(traverser) + self._callFUT(model, []) + self.assertEqual(model.wascontext, True) + self.assertEqual(model.environ['PATH_INFO'], '') + class UnderTraverseTests(unittest.TestCase): def setUp(self): cleanUp() @@ -990,38 +1001,6 @@ class UnderTraverseTests(unittest.TestCase): result = self._callFUT(context, None, traverser) self.assertEqual(result, {'a':'1'}) - def test_issixtuple(self): - traverser = make_traverser((1,2,3,4,5,6)) - self._registerTraverserFactory(traverser) - context = DummyContext() - result = self._callFUT(context, None) - self.assertEqual(result['context'], 1) - self.assertEqual(result['view_name'], 2) - self.assertEqual(result['subpath'], 3) - self.assertEqual(result['traversed'], 4) - self.assertEqual(result['virtual_root'], 5) - self.assertEqual(result['virtual_root_path'], 6) - self.assertEqual(result['root'], None) - self.failUnless(result['_deprecation_warning'].startswith( - "<class 'repoze.bfg.tests.test_traversal.DummyTraverser'>")) - self.failUnless("6-argument tuple" in result['_deprecation_warning']) - - def test_isthreetuple(self): - traverser = make_traverser((1,2,3)) - self._registerTraverserFactory(traverser) - context = DummyContext() - result = self._callFUT(context, None) - self.assertEqual(result['context'], 1) - self.assertEqual(result['view_name'], 2) - self.assertEqual(result['subpath'], 3) - self.assertEqual(result['traversed'], None) - self.assertEqual(result['virtual_root'], None) - self.assertEqual(result['virtual_root_path'], None) - self.assertEqual(result['root'], None) - self.failUnless(result['_deprecation_warning'].startswith( - "<class 'repoze.bfg.tests.test_traversal.DummyTraverser'>")) - self.failUnless("3-argument tuple" in result['_deprecation_warning']) - def make_traverser(result): class DummyTraverser(object): def __init__(self, context): |
