diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-04-24 13:39:59 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2017-04-26 10:54:36 +0200 |
commit | 2b500f234fc8cf5d7922218ac1fb12e9874c2f61 (patch) | |
tree | 77a56fe2cd385abd2992f71c8efd867f3b26d759 | |
parent | e32efcae49ba5857feae85b9b4651a45d9e5fcc3 (diff) | |
download | mitmproxy-2b500f234fc8cf5d7922218ac1fb12e9874c2f61.tar.gz mitmproxy-2b500f234fc8cf5d7922218ac1fb12e9874c2f61.tar.bz2 mitmproxy-2b500f234fc8cf5d7922218ac1fb12e9874c2f61.zip |
typecheck: add support for typing.Any
-rw-r--r-- | mitmproxy/utils/typecheck.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/utils/test_typecheck.py | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/mitmproxy/utils/typecheck.py b/mitmproxy/utils/typecheck.py index 5df4ea4b..628ea642 100644 --- a/mitmproxy/utils/typecheck.py +++ b/mitmproxy/utils/typecheck.py @@ -68,5 +68,7 @@ def check_type(name: str, value: typing.Any, typeinfo: typing.Any) -> None: return else: raise e + elif typename.startswith("typing.Any"): + return elif not isinstance(value, typeinfo): raise e diff --git a/test/mitmproxy/utils/test_typecheck.py b/test/mitmproxy/utils/test_typecheck.py index d99a914f..fd0c6e0c 100644 --- a/test/mitmproxy/utils/test_typecheck.py +++ b/test/mitmproxy/utils/test_typecheck.py @@ -79,3 +79,9 @@ 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]) + + +def test_check_any(): + typecheck.check_type("foo", 42, typing.Any) + typecheck.check_type("foo", object(), typing.Any) + typecheck.check_type("foo", None, typing.Any) |