summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorMike Naberezny <mike@maintainable.com>2009-04-05 04:06:47 +0000
committerMike Naberezny <mike@maintainable.com>2009-04-05 04:06:47 +0000
commite693ce1cbc5777ab85d852122d5c28f63025ec5a (patch)
tree88a7cc24aa40535fd4970d6024adc4ac97a02830 /repoze/bfg/tests
parent2c100e84a36c8ac5fac0684b201ce2050ba1aab0 (diff)
downloadpyramid-e693ce1cbc5777ab85d852122d5c28f63025ec5a.tar.gz
pyramid-e693ce1cbc5777ab85d852122d5c28f63025ec5a.tar.bz2
pyramid-e693ce1cbc5777ab85d852122d5c28f63025ec5a.zip
Added a new anchor keyword argument to model_url().
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_url.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py
index b9733f802..fc89e6c0d 100644
--- a/repoze/bfg/tests/test_url.py
+++ b/repoze/bfg/tests/test_url.py
@@ -77,6 +77,48 @@ class ModelURLTests(unittest.TestCase):
self.assertEqual(result,
'http://example.com/context/a?a=hi+there&b=La+Pe%C3%B1a')
+ def test_anchor_is_after_root_when_no_elements(self):
+ self._registerContextURL()
+ context = DummyContext()
+ request = DummyRequest()
+ result = self._callFUT(context, request, anchor='a')
+ self.assertEqual(result,
+ 'http://example.com/context/#a')
+
+ def test_anchor_is_after_elements_when_no_qs(self):
+ self._registerContextURL()
+ context = DummyContext()
+ request = DummyRequest()
+ result = self._callFUT(context, request, 'a', anchor='b')
+ self.assertEqual(result,
+ 'http://example.com/context/a#b')
+
+ def test_anchor_is_after_qs_when_qs_is_present(self):
+ self._registerContextURL()
+ context = DummyContext()
+ request = DummyRequest()
+ result = self._callFUT(context, request, 'a',
+ query={'b':'c'}, anchor='d')
+ self.assertEqual(result,
+ 'http://example.com/context/a?b=c#d')
+
+ def test_anchor_is_encoded_utf8_if_unicode(self):
+ self._registerContextURL()
+ context = DummyContext()
+ request = DummyRequest()
+ uc = unicode('La Pe\xc3\xb1a', 'utf-8')
+ result = self._callFUT(context, request, anchor=uc)
+ self.assertEqual(result,
+ 'http://example.com/context/#La Pe\xc3\xb1a')
+
+ def test_anchor_is_not_urlencoded(self):
+ self._registerContextURL()
+ context = DummyContext()
+ request = DummyRequest()
+ result = self._callFUT(context, request, anchor=' /#')
+ self.assertEqual(result,
+ 'http://example.com/context/# /#')
+
def test_no_IContextURL_registered(self):
# falls back to TraversalContextURL
root = DummyContext()