Fix StreamReader.__repr__
This commit is contained in:
parent
85976b14dd
commit
d94c1b92ed
|
@ -324,7 +324,7 @@ class StreamReader:
|
|||
def __repr__(self):
|
||||
info = ['StreamReader']
|
||||
if self._buffer:
|
||||
info.append('%d bytes' % len(info))
|
||||
info.append('%d bytes' % len(self._buffer))
|
||||
if self._eof:
|
||||
info.append('eof')
|
||||
if self._limit != _DEFAULT_LIMIT:
|
||||
|
|
|
@ -632,6 +632,48 @@ os.close(fd)
|
|||
protocol = asyncio.StreamReaderProtocol(reader)
|
||||
self.assertIs(protocol._loop, self.loop)
|
||||
|
||||
def test___repr__(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
self.assertEqual("<StreamReader>", repr(stream))
|
||||
|
||||
def test___repr__nondefault_limit(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop, limit=123)
|
||||
self.assertEqual("<StreamReader l=123>", repr(stream))
|
||||
|
||||
def test___repr__eof(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
stream.feed_eof()
|
||||
self.assertEqual("<StreamReader eof>", repr(stream))
|
||||
|
||||
def test___repr__data(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
stream.feed_data(b'data')
|
||||
self.assertEqual("<StreamReader 4 bytes>", repr(stream))
|
||||
|
||||
def test___repr__exception(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
exc = RuntimeError()
|
||||
stream.set_exception(exc)
|
||||
self.assertEqual("<StreamReader e=RuntimeError()>", repr(stream))
|
||||
|
||||
def test___repr__waiter(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
stream._waiter = asyncio.Future(loop=self.loop)
|
||||
self.assertRegex(
|
||||
repr(stream),
|
||||
"<StreamReader w=<Future pending[\S ]*>>")
|
||||
stream._waiter.set_result(None)
|
||||
self.loop.run_until_complete(stream._waiter)
|
||||
stream._waiter = None
|
||||
self.assertEqual("<StreamReader>", repr(stream))
|
||||
|
||||
def test___repr__transport(self):
|
||||
stream = asyncio.StreamReader(loop=self.loop)
|
||||
stream._transport = mock.Mock()
|
||||
stream._transport.__repr__ = mock.Mock()
|
||||
stream._transport.__repr__.return_value = "<Transport>"
|
||||
self.assertEqual("<StreamReader t=<Transport>>", repr(stream))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue