diff -r 4f7c5349e801 Lib/test/test_wsgiref.py --- a/Lib/test/test_wsgiref.py Wed Feb 18 08:05:05 2015 +0200 +++ b/Lib/test/test_wsgiref.py Wed Feb 18 16:55:40 2015 +0200 @@ -48,6 +48,13 @@ ]) return [b"Hello, world!"] +def header_app(environ, start_response): + start_response("200 OK", [ + ('Content-Type','text/plain'), + ('Date','Mon, 05 Jun 2006 18:49:54 GMT') + ]) + return [("%s;%s;%s" % (environ['HTTP_X_TEST_HEADER'], environ['QUERY_STRING'], environ['PATH_INFO'])).encode('iso-8859-1')] + def run_amock(app=hello_app, data=b"GET / HTTP/1.0\n\n"): server = make_server("", 80, app, MockServer, MockHandler) inp = BufferedReader(BytesIO(data)) @@ -118,6 +125,15 @@ out, err = run_amock() self.check_hello(out) + def test_environ(self): + request = (b"GET /p%61th/?query=test HTTP/1.0\n" + b"X-Test-Header: Python test \n" + b"X-Test-Header: Python test 2\n" + b"Content-Length: 0\n\n" + ) + out, err = run_amock(header_app, request) + self.assertEqual(out.splitlines()[-1], b"Python test,Python test 2;query=test;/path/") + def test_request_length(self): out, err = run_amock(data=b"GET " + (b"x" * 65537) + b" HTTP/1.0\n\n") self.assertEqual(out.splitlines()[0],