summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hellkamp <marc@gsites.de>2019-12-18 12:16:21 +0100
committerMarcel Hellkamp <marc@gsites.de>2019-12-18 12:19:20 +0100
commite33f045a7e87a2779e0cf14a48f29949b429f193 (patch)
treef52f519573813a33fce70546f91a33f31460e6dc
parent085f18615fe8ab63588eebfd25bb90337aac2ba0 (diff)
downloadbottle-e33f045a7e87a2779e0cf14a48f29949b429f193.tar.gz
Fixup for 5c52eb0
-rwxr-xr-xbottle.py4
-rwxr-xr-xtest/test_environ.py17
2 files changed, 10 insertions, 11 deletions
diff --git a/bottle.py b/bottle.py
index d2d1f0c..2d05421 100755
--- a/bottle.py
+++ b/bottle.py
@@ -735,8 +735,8 @@ class Bottle(object):
# follow PEP-3333 (which requires latin1) or used a
# pre-encoding other than utf8 :/
status = status.encode('latin1').decode('utf8')
- headerlist = [k, v.encode('latin1').decode('utf8')
- for k, v in headerlist]
+ headerlist = [(k, v.encode('latin1').decode('utf8'))
+ for (k, v) in headerlist]
rs.status = status
for name, value in headerlist:
rs.add_header(name, value)
diff --git a/test/test_environ.py b/test/test_environ.py
index 3e6e484..4b736af 100755
--- a/test/test_environ.py
+++ b/test/test_environ.py
@@ -556,15 +556,6 @@ class TestResponse(unittest.TestCase):
self.assertEqual(rs.status_code, 404)
self.assertEqual(rs.status_line, '404 Brain not Found')
- # Unicode in status line (thanks RFC7230 :/)
- if bottle.py3k:
- def test(): rs.status = '400 Non-ASCÜ'
- self.assertRaises(ValueError, test)
- self.assertEqual(rs.status, rs.status_line)
- self.assertEqual(rs.status_code, 400)
- wire = rs._wsgi_status_line().encode('latin1')
- self.assertEqual(rs.status, wire.decode('utf8'))
-
def test(): rs.status = '5 Illegal Code'
self.assertRaises(ValueError, test)
self.assertEqual(rs.status, rs.status_line) # last value
@@ -589,6 +580,14 @@ class TestResponse(unittest.TestCase):
self.assertEqual(rs.status_code, 404) # last value
self.assertEqual(rs.status_line, '404 Brain not Found') # last value
+ # Unicode in status line (thanks RFC7230 :/)
+ if bottle.py3k:
+ rs.status = '400 Non-ASÎÎ'
+ self.assertEqual(rs.status, rs.status_line)
+ self.assertEqual(rs.status_code, 400)
+ wire = rs._wsgi_status_line().encode('latin1')
+ self.assertEqual(rs.status, wire.decode('utf8'))
+
def test_content_type(self):
rs = BaseResponse()
rs.content_type = 'test/some'