summaryrefslogtreecommitdiff
path: root/Lib/test/test_inspect.py
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-01-27 19:29:45 -0500
committerYury Selivanov <yselivanov@sprymix.com>2014-01-27 19:29:45 -0500
commite7dcc5e97a0a9cc7b90d4da72a4d9c69f49aac3c (patch)
tree2d6f59416481aa44d7bcd1f642d0e0a3087d4d44 /Lib/test/test_inspect.py
parent7aedea40d66a628236cba60f0d2712daf5e68198 (diff)
downloadcpython-git-e7dcc5e97a0a9cc7b90d4da72a4d9c69f49aac3c.tar.gz
inspect.signature: Support classes without user-defined __init__/__new__ #20308
Diffstat (limited to 'Lib/test/test_inspect.py')
-rw-r--r--Lib/test/test_inspect.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index f5f18f0f21..a6b4c7ac60 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -2045,6 +2045,20 @@ class TestSignatureObject(unittest.TestCase):
('bar', 2, ..., "keyword_only")),
...))
+ # Test classes without user-defined __init__ or __new__
+ class C: pass
+ self.assertEqual(str(inspect.signature(C)), '()')
+ class D(C): pass
+ self.assertEqual(str(inspect.signature(D)), '()')
+
+ # Test meta-classes without user-defined __init__ or __new__
+ class C(type): pass
+ self.assertEqual(str(inspect.signature(C)),
+ '(object_or_name, bases, dict)')
+ class D(C): pass
+ self.assertEqual(str(inspect.signature(D)),
+ '(object_or_name, bases, dict)')
+
def test_signature_on_callable_objects(self):
class Foo:
def __call__(self, a):