Issue #21723: asyncio.Queue: support any type of number (ex: float) for the

maximum size. Patch written by Vajrasky Kok.
This commit is contained in:
Victor Stinner 2014-06-17 23:36:21 +02:00
parent 14fbe72777
commit 66dc6b0f53
3 changed files with 21 additions and 3 deletions

View file

@ -339,6 +339,21 @@ class QueuePutTests(_QueueTestBase):
q.put_nowait(1)
self.assertRaises(asyncio.QueueFull, q.put_nowait, 2)
def test_float_maxsize(self):
q = asyncio.Queue(maxsize=1.3, loop=self.loop)
q.put_nowait(1)
q.put_nowait(2)
self.assertTrue(q.full())
self.assertRaises(asyncio.QueueFull, q.put_nowait, 3)
q = asyncio.Queue(maxsize=1.3, loop=self.loop)
@asyncio.coroutine
def queue_put():
yield from q.put(1)
yield from q.put(2)
self.assertTrue(q.full())
self.loop.run_until_complete(queue_put())
def test_put_cancelled(self):
q = asyncio.Queue(loop=self.loop)