summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_io.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_io.py')
-rw-r--r--Lib/test/test_io.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index e59d397..3b8ff1d 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -4916,6 +4916,24 @@ class PySignalsTest(SignalsTest):
test_reentrant_write_text = None
+class ProtocolsTest(unittest.TestCase):
+ class MyReader:
+ def read(self, sz=-1):
+ return b""
+
+ class MyWriter:
+ def write(self, b: bytes):
+ pass
+
+ def test_reader_subclass(self):
+ self.assertIsSubclass(MyReader, io.Reader[bytes])
+ self.assertNotIsSubclass(str, io.Reader[bytes])
+
+ def test_writer_subclass(self):
+ self.assertIsSubclass(MyWriter, io.Writer[bytes])
+ self.assertNotIsSubclass(str, io.Writer[bytes])
+
+
def load_tests(loader, tests, pattern):
tests = (CIOTest, PyIOTest, APIMismatchTest,
CBufferedReaderTest, PyBufferedReaderTest,