diff options
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 9 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_urldispatch.py | 5 |
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 |
