diff options
Diffstat (limited to 'tests/units/toolkit/router.py')
-rwxr-xr-x | tests/units/toolkit/router.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/tests/units/toolkit/router.py b/tests/units/toolkit/router.py index ad90cf5..131e587 100755 --- a/tests/units/toolkit/router.py +++ b/tests/units/toolkit/router.py @@ -594,7 +594,6 @@ class RouterTest(tests.Test): self.value = value def read(self, size): - print self.pos, size, len(self.value) assert self.pos + size <= len(self.value) result = self.value[self.pos:self.pos + size] self.pos += size @@ -1354,6 +1353,37 @@ class RouterTest(tests.Test): events) del events[:] + def test_ReadRequestOnEventStreamSpawn(self): + events = [] + + class Routes(object): + + @route('GET', mime_type='text/event-stream') + def get(self, request): + yield {} + yield {'request': request.content} + + def broadcast(self, event): + events.append(event.copy()) + + reply = Router(Routes(), allow_spawn=True)({ + 'PATH_INFO': '/', + 'REQUEST_METHOD': 'GET', + 'QUERY_STRING': 'spawn', + 'CONTENT_LENGTH': '5', + 'wsgi.input': StringIO('probe'), + }, + lambda status, headers: None) + self.assertEqual([], [i for i in reply]) + + coroutine.sleep(.1) + self.assertEqual([ + {'method': 'GET'}, + {'method': 'GET', 'request': 'probe'}, + ], + events) + del events[:] + if __name__ == '__main__': tests.main() |