Tests: added Python input readline and iterator tests.

This commit is contained in:
Max Romanov
2020-03-12 17:54:15 +03:00
parent 7c4db34b88
commit f3e6726098
5 changed files with 125 additions and 6 deletions

View File

@@ -1,5 +1,16 @@
def application(environ, start_response):
body = bytes(environ['wsgi.input'].__iter__())
body = []
content_length = 0
start_response('200', [('Content-Length', str(len(body)))])
return [body]
for l in environ['wsgi.input'].__iter__():
body.append(l)
content_length += len(l)
start_response(
'200',
[
('Content-Length', str(content_length)),
('X-Lines-Count', str(len(body))),
],
)
return body

View File

@@ -0,0 +1,20 @@
def application(environ, start_response):
body = []
content_length = 0
while True:
l = environ['wsgi.input'].readline()
if not l:
break
body.append(l)
content_length += len(l)
start_response(
'200',
[
('Content-Length', str(content_length)),
('X-Lines-Count', str(len(body))),
],
)
return body

View File

@@ -0,0 +1,16 @@
def application(environ, start_response):
body = []
while True:
l = environ['wsgi.input'].readline(9)
if not l:
break
body.append(l)
if len(l) > 9:
body.append(b'len(l) > 9: ' + l)
break
start_response('200', [('X-Lines-Count', str(len(body)))])
return body

View File

@@ -0,0 +1,5 @@
def application(environ, start_response):
body = environ['wsgi.input'].readlines()
start_response('200', [('X-Lines-Count', str(len(body)))])
return body