def testStream_15(self): s = Stream(encoders=[str_encoder('utf-8'), gzip_encoder()]) s2 = Stream((str is not bytes), encoders=[gzip_decoder(), str_decoder('utf-8')]) retvalue = [] rc = self.rc def write_routine(): for m in s.write('abcde', rc): yield m for m in s.write('defgh', rc): yield m for m in s.write('ijklm', rc, True): yield m def read_routine(): for m in s2.read(rc): yield m retvalue.append(rc.data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) rc.subroutine(s.copyTo(s2, rc)) self.server.serve() self.assertEqual(retvalue, ['abcdedefghijklm'])
def testStream_16(self): s = Stream(splitsize=4) s2 = Stream(writebufferlimit=0) retvalue = [] rc = self.rc def write_routine(): rc.subroutine(s2.copyTo(s, rc, False)) def read_next(size=None): data = s.readonce(size) while not data: for m in s.prepareRead(rc): yield m data = s.readonce(size) rc.retvalue = data for m in s2.write(b'abcde', rc): yield m for m in s2.write(b'de\nf\rgh\r\n', rc): yield m for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) for m in s2.write(b'ijklm', rc, True): yield m for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) try: for m in read_next(): yield m retvalue.append(rc.retvalue) except EOFError: retvalue.append(None) rc.subroutine(write_routine()) self.server.serve() self.assertEqual( retvalue, [b'abcd', b'e', b'de\nf', b'\rgh\r', b'\n', b'ijkl', b'm', None])
def testStream_3(self): s = Stream() retvalue = [] rc = self.rc def write_routine(): for m in s.write(b'abcde', rc): yield m for m in s.write(b'de\nf\rgh\r\n', rc, buffering=False): yield m for m in s.readline(rc): yield m retvalue.append(rc.data) for m in s.readline(rc): yield m retvalue.append(rc.data) for m in s.write(b'ijklm', rc, True): yield m for m in s.readline(rc): yield m retvalue.append(rc.data) rc.subroutine(write_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcdede\n', b'f\rgh\r\n', b'ijklm'])
def testStream_6(self): s = Stream() retvalue = [] rc = self.rc async def write_routine(): async def read_next(): data = s.readonce() while not data: await s.prepareRead(rc) data = s.readonce() return data await s.write(b'abcde', rc, buffering=False) await s.write(b'de\nf\rgh\r\n', rc, buffering=False) data = await read_next() retvalue.append(data) data = await read_next() retvalue.append(data) await s.write(b'ijklm', rc, True) data = await read_next() retvalue.append(data) try: data = await read_next() retvalue.append(data) except EOFError: retvalue.append(None) rc.subroutine(write_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcde', b'de\nf\rgh\r\n', b'ijklm', None])
def testStream_4(self): s = Stream() retvalue = [] rc = self.rc async def write_routine(): await s.write(b'abcde', rc) await s.write(b'de\nf\rgh\r\n', rc, buffering=False) data = await s.readline(rc, 4) retvalue.append(data) data = await s.readline(rc, 3) retvalue.append(data) data = await s.readline(rc, 4) retvalue.append(data) data = await s.readline(rc, 4) retvalue.append(data) data = await s.readline(rc, 4) retvalue.append(data) await s.write(b'ijklm', rc, True) data = await s.readline(rc, 4) retvalue.append(data) data = await s.readline(rc, 4) retvalue.append(data) rc.subroutine(write_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcd',b'ede', b'\n', b'f\rgh', b'\r\n', b'ijkl', b'm'])
def testStream_5(self): s = Stream() retvalue = [] rc = self.rc async def write_routine(): await s.write(b'abcde', rc) await s.write(b'de\nf\rgh\r\n', rc, buffering=False) data = await s.readline(rc, 4) retvalue.append(data) data = await s.readline(rc, 3) retvalue.append(data) data = await s.read(rc, 4) retvalue.append(data) await s.write(b'ijklm', rc, True) data = await s.read(rc, 4) retvalue.append(data) data = await s.readline(rc, 4) retvalue.append(data) try: data = await s.readline(rc, 4) retvalue.append(data) except EOFError: retvalue.append(None) rc.subroutine(write_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcd',b'ede', b'\nf\rg', b'h\r\ni', b'jklm', None])
def testStream_14(self): s = Stream(encoders=[str_encoder('utf-8'), deflate_encoder()]) s2 = Stream((str is not bytes), encoders=[deflate_decoder(), str_decoder('utf-8')]) retvalue = [] rc = self.rc async def write_routine(): await s.write('abcde', rc) await s.write('defgh', rc) await s.write('ijklm', rc, True) async def read_routine(): data = await s2.read(rc) retvalue.append(data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) rc.subroutine(s.copyTo(s2, rc)) self.server.serve() self.assertEqual(retvalue, ['abcdedefghijklm'])
def testStream_9(self): s = Stream() s2 = Stream() retvalue = [] rc = self.rc async def write_routine(): await s.write(b'abcde', rc) await s.write(b'defgh', rc) await s.write(b'ijklm', rc, True) async def read_routine(): data = await s2.read(rc) retvalue.append(data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) rc.subroutine(s.copyTo(s2, rc)) self.server.serve() self.assertEqual(retvalue, [b'abcdedefghijklm'])
def testStream_9(self): s = Stream() s2 = Stream() retvalue = [] rc = self.rc def write_routine(): for m in s.write(b'abcde', rc): yield m for m in s.write(b'defgh', rc): yield m for m in s.write(b'ijklm', rc, True): yield m def read_routine(): for m in s2.read(rc): yield m retvalue.append(rc.data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) rc.subroutine(s.copyTo(s2, rc)) self.server.serve() self.assertEqual(retvalue, [b'abcdedefghijklm'])
def testStream_2(self): s = Stream(True) retvalue = [] rc = self.rc async def write_routine(): await s.write(u'abcde', rc) await s.write(u'defgh', rc) await s.write(u'ijklm', rc, True) async def read_routine(): data = await s.read(rc) retvalue.append(data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) self.server.serve() self.assertEqual(retvalue, [u'abcdedefghijklm'])
def testStream_13(self): s = Stream(encoders=[str_encoder('utf-8')]) retvalue = [] rc = self.rc async def write_routine(): await s.write('abcde', rc) await s.write('defgh', rc) await s.write('ijklm', rc, True) async def read_routine(): data = await s.read(rc) retvalue.append(data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcdedefghijklm'])
def testStream_6(self): s = Stream() retvalue = [] rc = self.rc def write_routine(): def read_next(): data = s.readonce() while not data: for m in s.prepareRead(rc): yield m data = s.readonce() rc.retvalue = data for m in s.write(b'abcde', rc, buffering=False): yield m for m in s.write(b'de\nf\rgh\r\n', rc, buffering=False): yield m for m in read_next(): yield m retvalue.append(rc.retvalue) for m in read_next(): yield m retvalue.append(rc.retvalue) for m in s.write(b'ijklm', rc, True): yield m for m in read_next(): yield m retvalue.append(rc.retvalue) try: for m in read_next(): yield m retvalue.append(rc.retvalue) except EOFError: retvalue.append(None) rc.subroutine(write_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcde', b'de\nf\rgh\r\n', b'ijklm', None])
def testStream_2(self): s = Stream(True) retvalue = [] rc = self.rc def write_routine(): for m in s.write(u'abcde', rc): yield m for m in s.write(u'defgh', rc): yield m for m in s.write(u'ijklm', rc, True): yield m def read_routine(): for m in s.read(rc): yield m retvalue.append(rc.data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) self.server.serve() self.assertEqual(retvalue, [u'abcdedefghijklm'])
def testStream_13(self): s = Stream(encoders=[str_encoder('utf-8')]) retvalue = [] rc = self.rc def write_routine(): for m in s.write('abcde', rc): yield m for m in s.write('defgh', rc): yield m for m in s.write('ijklm', rc, True): yield m def read_routine(): for m in s.read(rc): yield m retvalue.append(rc.data) rc.subroutine(write_routine()) rc.subroutine(read_routine()) self.server.serve() self.assertEqual(retvalue, [b'abcdedefghijklm'])