diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2014-03-27 16:09:24 (GMT) |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2014-03-27 16:09:24 (GMT) |
commit | da39645ad300a097decc4e35bb3ea6dbf0633886 (patch) | |
tree | 07ccb20f627b8c26a84851df3ebe035d9f0a401c /Lib/test/test_inspect.py | |
parent | a5d63dd7b880dd38282ad52f52e3579f965b20e0 (diff) | |
download | cpython-da39645ad300a097decc4e35bb3ea6dbf0633886.zip cpython-da39645ad300a097decc4e35bb3ea6dbf0633886.tar.gz cpython-da39645ad300a097decc4e35bb3ea6dbf0633886.tar.bz2 |
inspect.Signature: Add 'Signature.from_callable' classmethod. Closes #17373
Diffstat (limited to 'Lib/test/test_inspect.py')
-rw-r--r-- | Lib/test/test_inspect.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index 373bd4c..5bdd327 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -2517,6 +2517,19 @@ class TestSignatureObject(unittest.TestCase): self.assertEqual(self.signature(Spam.foo), self.signature(Ham.foo)) + def test_signature_from_callable_python_obj(self): + class MySignature(inspect.Signature): pass + def foo(a, *, b:1): pass + foo_sig = MySignature.from_callable(foo) + self.assertTrue(isinstance(foo_sig, MySignature)) + + @unittest.skipIf(MISSING_C_DOCSTRINGS, + "Signature information for builtins requires docstrings") + def test_signature_from_callable_builtin_obj(self): + class MySignature(inspect.Signature): pass + sig = MySignature.from_callable(_pickle.Pickler) + self.assertTrue(isinstance(sig, MySignature)) + class TestParameterObject(unittest.TestCase): def test_signature_parameter_kinds(self): |