diff options
Diffstat (limited to 'repoze/bfg/tests/test_traversal.py')
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 7d24cb9bc..081105f88 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -745,7 +745,7 @@ class TraversalContextURLTests(unittest.TestCase): result = context_url() self.assertEqual(result, 'http://example.com:5432//bar/') - def test_with_route(self): + def test_with_minimized_route(self): root = DummyContext() root.__name__ = None root.__parent__ = None @@ -753,13 +753,44 @@ class TraversalContextURLTests(unittest.TestCase): one.__name__ = 'one' one.__parent__ = root route = DummyRoute() + route.minimization = True request = DummyRequest({'bfg.routes.route':route, 'bfg.routes.matchdict':{'a':1}}) context_url = self._makeOne(one, request) result = context_url() - self.assertEqual(result, 'http://example.com/one/') + self.assertEqual(result, 'http://example.com:5432/example/') self.assertEqual(route.generate_kw, {'a':1, 'traverse':'/one/'}) + def test_with_non_minimized_route(self): + root = DummyContext() + root.__name__ = None + root.__parent__ = None + one = DummyContext() + one.__name__ = 'one' + one.__parent__ = root + route = DummyRoute() + route.minimization = False + request = DummyRequest({'bfg.routes.route':route, + 'bfg.routes.matchdict':{'a':1}}) + context_url = self._makeOne(one, request) + result = context_url() + self.assertEqual(result, 'http://example.com:5432/example/') + self.assertEqual(route.generate_kw, {'a':1, 'traverse':'/one/'}) + + def test_with_route_generation_fail(self): + root = DummyContext() + root.__name__ = None + root.__parent__ = None + one = DummyContext() + one.__name__ = 'one' + one.__parent__ = root + route = DummyRoute() + route.non_minimized_result = False + request = DummyRequest({'bfg.routes.route':route, + 'bfg.routes.matchdict':{'a':1}}) + context_url = self._makeOne(one, request) + self.assertRaises(ValueError, context_url) + class TestVirtualRoot(unittest.TestCase): def setUp(self): cleanUp() @@ -974,6 +1005,15 @@ class DummyContextURL: return '123' class DummyRoute: - def generate(self, **kw): + minimization = False + + minimized_result = 'example/' + non_minimized_result = '/example/' + + def generate_minimized(self, kw): + self.generate_kw = kw + return self.minimized_result + + def generate_non_minimized(self, kw): self.generate_kw = kw - return 'http://example.com' + return self.non_minimized_result |
