diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/utils/test_typecheck.py | 17 |
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]) |