summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2018-11-14 21:26:39 -0600
committerMichael Merickel <michael@merickel.org>2018-11-14 21:27:08 -0600
commit78dcc6dff88829831ead187804ac9233eafab52e (patch)
tree9a75d95c7cd31c68e8df55b495d0ed7d0d9d2449 /tests
parenta705f56c3ebf34f25ab567d85b7d5b421983aa4a (diff)
downloadpyramid-78dcc6dff88829831ead187804ac9233eafab52e.tar.gz
pyramid-78dcc6dff88829831ead187804ac9233eafab52e.tar.bz2
pyramid-78dcc6dff88829831ead187804ac9233eafab52e.zip
remove several places supporting bytes for py2
Diffstat (limited to 'tests')
-rw-r--r--tests/test_httpexceptions.py6
-rw-r--r--tests/test_renderers.py2
-rw-r--r--tests/test_urldispatch.py17
-rw-r--r--tests/test_util.py52
4 files changed, 76 insertions, 1 deletions
diff --git a/tests/test_httpexceptions.py b/tests/test_httpexceptions.py
index 195496e2e..48c4a22f3 100644
--- a/tests/test_httpexceptions.py
+++ b/tests/test_httpexceptions.py
@@ -67,6 +67,12 @@ class Test__no_escape(unittest.TestCase):
def test_not_basestring(self):
self.assertEqual(self._callFUT(42), '42')
+ def test_bytes(self):
+ self.assertEqual(
+ self._callFUT(b'/La Pe\xc3\xb1a/{x}'),
+ b'/La Pe\xc3\xb1a/{x}'.decode('utf-8'),
+ )
+
def test_unicode(self):
class DummyUnicodeObject(object):
def __unicode__(self):
diff --git a/tests/test_renderers.py b/tests/test_renderers.py
index 0eacfa996..0e9f99d15 100644
--- a/tests/test_renderers.py
+++ b/tests/test_renderers.py
@@ -774,7 +774,7 @@ class DummyResponse:
body = b''
# compat for renderer that will set unicode on py3
- def _set_text(self, val): # pragma: no cover
+ def _set_text(self, val):
self.body = val.encode('utf8')
text = property(fset=_set_text)
diff --git a/tests/test_urldispatch.py b/tests/test_urldispatch.py
index 9296a50e1..a74731730 100644
--- a/tests/test_urldispatch.py
+++ b/tests/test_urldispatch.py
@@ -140,6 +140,23 @@ class RoutesMapperTests(unittest.TestCase):
request.registry = get_current_registry()
self.assertRaises(URLDecodeError, mapper, request)
+ def test___call__pathinfo_KeyError(self):
+ from pyramid.threadlocal import get_current_registry
+
+ class DummyRequest:
+ @property
+ def path_info(self):
+ # if the PATH_INFO is missing from the environ
+ raise KeyError
+
+ mapper = self._makeOne()
+ mapper.connect('root', '')
+ request = DummyRequest()
+ request.registry = get_current_registry()
+ result = mapper(request)
+ self.assertEqual(result['route'], mapper.routes['root'])
+ self.assertEqual(result['match'], {})
+
def test___call__route_matches(self):
mapper = self._makeOne()
mapper.connect('foo', 'archives/:action/:article')
diff --git a/tests/test_util.py b/tests/test_util.py
index 676290676..d6d1d1502 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -1,3 +1,4 @@
+import sys
import unittest
from pyramid.compat import text_, bytes_
@@ -1246,3 +1247,54 @@ class TestUnboundMethods(unittest.TestCase):
return 'OK'
self.assertFalse(self._callFUT(func))
+
+
+class TestReraise(unittest.TestCase):
+ def _callFUT(self, *args):
+ from pyramid.util import reraise
+
+ return reraise(*args)
+
+ def test_it(self):
+ # tests cribbed from six.py
+ def get_next(tb):
+ return tb.tb_next.tb_next.tb_next
+
+ e = Exception('blah')
+ try:
+ raise e
+ except Exception:
+ tp, val, tb = sys.exc_info()
+
+ try:
+ self._callFUT(tp, val, tb)
+ except Exception:
+ tp2, val2, tb2 = sys.exc_info()
+ self.assertIs(tp2, Exception)
+ self.assertIs(val2, e)
+ self.assertIs(get_next(tb2), tb)
+
+ try:
+ self._callFUT(tp, val)
+ except Exception:
+ tp2, val2, tb2 = sys.exc_info()
+ self.assertIs(tp2, Exception)
+ self.assertIs(val2, e)
+ self.assertIsNot(get_next(tb2), tb)
+
+ try:
+ self._callFUT(tp, val, tb2)
+ except Exception:
+ tp2, val2, tb3 = sys.exc_info()
+ self.assertIs(tp2, Exception)
+ self.assertIs(val2, e)
+ self.assertIs(get_next(tb3), tb2)
+
+ try:
+ self._callFUT(tp, None, tb)
+ except Exception:
+ tp2, val2, tb2 = sys.exc_info()
+ self.assertIs(tp2, Exception)
+ self.assertIsNot(val2, val)
+ self.assertIsInstance(val2, Exception)
+ self.assertIs(get_next(tb2), tb)