aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py')
-rw-r--r--contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py b/contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py
new file mode 100644
index 0000000000..c6ff8bd48d
--- /dev/null
+++ b/contrib/python/zope.interface/py2/zope/interface/common/tests/test_io.py
@@ -0,0 +1,52 @@
+##############################################################################
+# Copyright (c) 2020 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+##############################################################################
+
+
+import unittest
+import io as abc
+
+# Note that importing z.i.c.io does work on import.
+from zope.interface.common import io
+
+from . import add_abc_interface_tests
+from . import VerifyClassMixin
+from . import VerifyObjectMixin
+
+
+class TestVerifyClass(VerifyClassMixin,
+ unittest.TestCase):
+ pass
+
+add_abc_interface_tests(TestVerifyClass, io.IIOBase.__module__)
+
+
+class TestVerifyObject(VerifyObjectMixin,
+ TestVerifyClass):
+ CONSTRUCTORS = {
+ abc.BufferedWriter: lambda: abc.BufferedWriter(abc.StringIO()),
+ abc.BufferedReader: lambda: abc.BufferedReader(abc.StringIO()),
+ abc.TextIOWrapper: lambda: abc.TextIOWrapper(abc.BytesIO()),
+ abc.BufferedRandom: lambda: abc.BufferedRandom(abc.BytesIO()),
+ abc.BufferedRWPair: lambda: abc.BufferedRWPair(abc.BytesIO(), abc.BytesIO()),
+ abc.FileIO: lambda: abc.FileIO(__file__),
+ '_WindowsConsoleIO': unittest.SkipTest,
+ }
+
+ try:
+ import cStringIO
+ except ImportError:
+ pass
+ else:
+ CONSTRUCTORS.update({
+ cStringIO.InputType: lambda cStringIO=cStringIO: cStringIO.StringIO('abc'),
+ cStringIO.OutputType: cStringIO.StringIO,
+ })