def test_readline(self): stream = Stream(None) stream.buffer.feed(b'foo\n') self.assertEqual(stream.readline(), b'foo\n') stream.buffer.feed(b'bar\nbaz\n') self.assertEqual(stream.readline(), b'bar\n') self.assertEqual(stream.readline(), b'baz\n')
def test_readline_eof_and_error(self): stream = Stream(None) stream.buffer.feed(b'foo') stream.buffer.feed_eof() stream.buffer.feed_error(RuntimeError) self.assertEqual(stream.readline(), b'foo') self.assertEqual(stream.readline(), b'')
def test_readline_incr(self): stream = Stream(None) buf = b'foo\nbar\n' for i in range(len(buf)): stream.buffer.feed(buf[i:i+1]) self.assertEqual(stream.readline(), b'foo\n') self.assertEqual(stream.readline(), b'bar\n')
def test_readline_incr(self): stream = Stream(None) buf = b'foo\nbar\n' for i in range(len(buf)): stream.buffer.feed(buf[i:i + 1]) self.assertEqual(stream.readline(), b'foo\n') self.assertEqual(stream.readline(), b'bar\n')
def test_readline_wait_error(self): stream = Stream(None) stream.buffer.feed(b'foo') def write_more(): gruvi.sleep(0.01) stream.buffer.feed(b'bar') gruvi.sleep(0.01) stream.buffer.feed_error(RuntimeError) gruvi.spawn(write_more) self.assertEqual(stream.readline(), b'foobar') self.assertRaises(RuntimeError, stream.readline)
def test_readline_wait_eof(self): stream = Stream(None) stream.buffer.feed(b'foo') def write_more(): gruvi.sleep(0.01) stream.buffer.feed(b'bar') gruvi.sleep(0.01) stream.buffer.feed_eof() gruvi.spawn(write_more) self.assertEqual(stream.readline(), b'foobar') self.assertEqual(stream.readline(), b'')
def test_readline_eof(self): stream = Stream(None) stream.buffer.feed(b'foo') stream.buffer.feed_eof() self.assertEqual(stream.readline(), b'foo') self.assertEqual(stream.readline(), b'')
def test_readline_limit(self): stream = Stream(None) stream.buffer.feed(b'foobar\n') self.assertEqual(stream.readline(3), b'foo') self.assertEqual(stream.readline(), b'bar\n')