def test_readlines_eof_and_error(self): stream = Stream(None) stream.buffer.feed(b'foo\nbar\n') stream.buffer.feed_eof() stream.buffer.feed_error(RuntimeError) self.assertEqual(stream.readlines(), [b'foo\n', b'bar\n']) self.assertEqual(stream.readlines(), [])
def test_readlines_wait_error(self): stream = Stream(None) stream.buffer.feed(b'foo\n') def write_more(): gruvi.sleep(0.01) stream.buffer.feed(b'bar\n') gruvi.sleep(0.01) stream.buffer.feed_error(RuntimeError) gruvi.spawn(write_more) self.assertEqual(stream.readlines(), [b'foo\n', b'bar\n']) self.assertRaises(RuntimeError, stream.readlines)
def test_readlines_wait_eof(self): stream = Stream(None) stream.buffer.feed(b'foo\n') def write_more(): gruvi.sleep(0.01) stream.buffer.feed(b'bar\n') gruvi.sleep(0.01) stream.buffer.feed_eof() gruvi.spawn(write_more) self.assertEqual(stream.readlines(), [b'foo\n', b'bar\n']) self.assertEqual(stream.readlines(), [])
def test_readlines_limit(self): stream = Stream(None) stream.buffer.feed(b'foo\nbar\n') self.assertEqual(stream.readlines(4), [b'foo\n', b'bar\n'])