]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Allow memoryview in write()
authorAntoine Pitrou <antoine@python.org>
Tue, 1 Nov 2016 20:39:39 +0000 (21:39 +0100)
committerAntoine Pitrou <antoine@python.org>
Tue, 1 Nov 2016 20:39:39 +0000 (21:39 +0100)
tornado/iostream.py
tornado/test/iostream_test.py

index aee114d6636f13a33922da0dd1475a7da0fa0b79..c77b78ee031b4030a80858874cd3169fb5afb6a2 100644 (file)
@@ -377,7 +377,6 @@ class BaseIOStream(object):
         .. versionchanged:: 4.0
             Now returns a `.Future` if no callback is given.
         """
-        assert isinstance(data, bytes)
         self._check_closed()
         if data:
             if (self.max_write_buffer_size is not None and
index 6e15136c3b751da4948811d95eb0cd9004bdb9ee..4d350655d27dfeb1b14bc90ecbefe6b16c3a2a71 100644 (file)
@@ -602,6 +602,18 @@ class TestIOStreamMixin(object):
             server.close()
             client.close()
 
+    def test_write_memoryview(self):
+        server, client = self.make_iostream_pair()
+        try:
+            # Ask for more than is available with partial=True
+            client.read_bytes(4, self.stop)
+            server.write(memoryview(b"hello"))
+            data = self.wait()
+            self.assertEqual(data, b"hell")
+        finally:
+            server.close()
+            client.close()
+
     def test_read_bytes_partial(self):
         server, client = self.make_iostream_pair()
         try: