From 863527a20cd3c861a0b732b8cc5b605c6e997a89 Mon Sep 17 00:00:00 2001 From: Marcel Hellkamp Date: Tue, 11 Aug 2009 08:50:10 +0200 Subject: [PATCH] Added tests for json and fixed missing headers in python3.0 --- bottle.py | 2 +- test/test_wsgi.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bottle.py b/bottle.py index 1b1490c18..8335f112b 100644 --- a/bottle.py +++ b/bottle.py @@ -359,7 +359,7 @@ def wsgiheaders(self): ''' Returns a wsgi conform list of header/value pairs ''' for c in self.COOKIES.itervalues(): self.header.add_header('Set-Cookie', c.OutputString()) - return [(h.title(), str(v)) for h, v in self.header_list] + return [(h.title(), str(v)) for h, v in self.header.items()] @property def COOKIES(self): diff --git a/test/test_wsgi.py b/test/test_wsgi.py index 637abce11..42f0edb25 100644 --- a/test/test_wsgi.py +++ b/test/test_wsgi.py @@ -31,7 +31,7 @@ def simulate(self, url, **kargs): setup_testing_defaults(environ) def start_response(status, header): meta['status'] = int(status.split()[0]) - meta['header'] = header + meta['header'] = dict(header) for part in self.wsgi(environ, start_response): out += part return meta['status'], meta['header'], out @@ -56,6 +56,13 @@ def test_200(self): self.assertEqual('test', self.simulate('/page1')[2]) self.assertEqual('test', self.simulate('/page2')[2]) + def test_json(self): + """ WSGI: json """ + self.wsgi.add_route('/json', lambda: {'a':1}) + self.assertEqual(200, self.simulate('/json')[0]) + self.assertEqual('application/json', self.simulate('/json')[1].get('Content-Type','')) + self.assertEqual(r'{"a": 1}', self.simulate('/json')[2]) + suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestWsgi))