aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/utils/test_typecheck.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/mitmproxy/utils/test_typecheck.py b/test/mitmproxy/utils/test_typecheck.py
index 3ec74b20..0ed440eb 100644
--- a/test/mitmproxy/utils/test_typecheck.py
+++ b/test/mitmproxy/utils/test_typecheck.py
@@ -1,6 +1,9 @@
+import io
import typing
+import mock
import pytest
+
from mitmproxy.utils import typecheck
@@ -57,3 +60,17 @@ def test_check_sequence():
typecheck.check_type("foo", [10, "foo"], typing.Sequence[int])
with pytest.raises(TypeError):
typecheck.check_type("foo", [b"foo"], typing.Sequence[str])
+ with pytest.raises(TypeError):
+ typecheck.check_type("foo", "foo", typing.Sequence[str])
+
+ # Python 3.5.0 only defines __parameters__
+ m = mock.Mock()
+ m.__str__ = lambda self: "typing.Sequence"
+ m.__parameters__ = (int,)
+ typecheck.check_type("foo", [10], m)
+
+
+def test_check_io():
+ typecheck.check_type("foo", io.StringIO(), typing.IO[str])
+ with pytest.raises(TypeError):
+ typecheck.check_type("foo", "foo", typing.IO[str])