summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_asyncio/test_transports.py
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-02-19 16:10:52 (GMT)
committerYury Selivanov <yselivanov@sprymix.com>2014-02-19 16:10:52 (GMT)
commit2d01c0a08033fb1f10a648135372d857d3f5d6ca (patch)
treededb4b37f9c938c8a1984a76786b2e83adb61241 /Lib/test/test_asyncio/test_transports.py
parent03e9cb2b0b82741c578cbc14ddcd8564d6e7a9e7 (diff)
downloadcpython-2d01c0a08033fb1f10a648135372d857d3f5d6ca.zip
cpython-2d01c0a08033fb1f10a648135372d857d3f5d6ca.tar.gz
cpython-2d01c0a08033fb1f10a648135372d857d3f5d6ca.tar.bz2
asyncio: WriteTransport.set_write_buffer_size to call _maybe_pause_protocol
Diffstat (limited to 'Lib/test/test_asyncio/test_transports.py')
-rw-r--r--Lib/test/test_asyncio/test_transports.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_transports.py b/Lib/test/test_asyncio/test_transports.py
index d16db80..4c64526 100644
--- a/Lib/test/test_asyncio/test_transports.py
+++ b/Lib/test/test_asyncio/test_transports.py
@@ -4,6 +4,7 @@ import unittest
import unittest.mock
import asyncio
+from asyncio import transports
class TransportTests(unittest.TestCase):
@@ -60,6 +61,28 @@ class TransportTests(unittest.TestCase):
self.assertRaises(NotImplementedError, transport.terminate)
self.assertRaises(NotImplementedError, transport.kill)
+ def test_flowcontrol_mixin_set_write_limits(self):
+
+ class MyTransport(transports._FlowControlMixin,
+ transports.Transport):
+
+ def get_write_buffer_size(self):
+ return 512
+
+ transport = MyTransport()
+ transport._protocol = unittest.mock.Mock()
+
+ self.assertFalse(transport._protocol_paused)
+
+ with self.assertRaisesRegex(ValueError, 'high.*must be >= low'):
+ transport.set_write_buffer_limits(high=0, low=1)
+
+ transport.set_write_buffer_limits(high=1024, low=128)
+ self.assertFalse(transport._protocol_paused)
+
+ transport.set_write_buffer_limits(high=256, low=128)
+ self.assertTrue(transport._protocol_paused)
+
if __name__ == '__main__':
unittest.main()