summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_traversal.py9
-rw-r--r--repoze/bfg/tests/test_urldispatch.py5
2 files changed, 11 insertions, 3 deletions
diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py
index d21c3ee3e..29f11dd40 100644
--- a/repoze/bfg/tests/test_traversal.py
+++ b/repoze/bfg/tests/test_traversal.py
@@ -43,11 +43,12 @@ class TraversalPathTests(unittest.TestCase):
self.assertEqual(self._callFUT(path), (decoded, decoded))
def test_utf16(self):
+ from repoze.bfg.exceptions import URLDecodeError
import urllib
la = unicode('La Pe\xc3\xb1a', 'utf-8').encode('utf-16')
encoded = urllib.quote(la)
path = '/'.join([encoded, encoded])
- self.assertRaises(TypeError, self._callFUT, path)
+ self.assertRaises(URLDecodeError, self._callFUT, path)
class ModelGraphTraverserTests(unittest.TestCase):
def setUp(self):
@@ -246,7 +247,8 @@ class ModelGraphTraverserTests(unittest.TestCase):
policy = self._makeOne(root)
segment = unicode('LaPe\xc3\xb1a', 'utf-8').encode('utf-16')
environ = self._getEnviron(PATH_INFO='/%s' % segment)
- self.assertRaises(TypeError, policy, environ)
+ from repoze.bfg.exceptions import URLDecodeError
+ self.assertRaises(URLDecodeError, policy, environ)
def test_non_utf8_path_segment_settings_unicode_path_segments_fails(self):
foo = DummyContext()
@@ -254,7 +256,8 @@ class ModelGraphTraverserTests(unittest.TestCase):
policy = self._makeOne(root)
segment = unicode('LaPe\xc3\xb1a', 'utf-8').encode('utf-16')
environ = self._getEnviron(PATH_INFO='/%s' % segment)
- self.assertRaises(TypeError, policy, environ)
+ from repoze.bfg.exceptions import URLDecodeError
+ self.assertRaises(URLDecodeError, policy, environ)
def test_withroute_nothingfancy(self):
model = DummyContext()
diff --git a/repoze/bfg/tests/test_urldispatch.py b/repoze/bfg/tests/test_urldispatch.py
index 69bd3d971..c5fa37758 100644
--- a/repoze/bfg/tests/test_urldispatch.py
+++ b/repoze/bfg/tests/test_urldispatch.py
@@ -224,6 +224,11 @@ class TestCompileRoute(unittest.TestCase):
self.assertEqual(matcher('foo/baz/biz/buz/bar'), None)
self.assertEqual(generator({'baz':1, 'buz':2}), '/foo/1/biz/2/bar')
+ def test_url_decode_error(self):
+ from repoze.bfg.exceptions import URLDecodeError
+ matcher, generator = self._callFUT('/:foo')
+ self.assertRaises(URLDecodeError, matcher, '/%FF%FE%8B%00')
+
class TestCompileRouteMatchFunctional(unittest.TestCase):
def matches(self, pattern, path, result):
from repoze.bfg.urldispatch import _compile_route