summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_traversal.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/tests/test_traversal.py')
-rw-r--r--repoze/bfg/tests/test_traversal.py48
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