return sig
else:
sig_params = tuple(sig.parameters.values())
- assert first_wrapped_param is not sig_params[0]
+ assert (not sig_params or
+ first_wrapped_param is not sig_params[0])
new_params = (first_wrapped_param,) + sig_params
return sig.replace(parameters=new_params)
('c', 1, ..., 'keyword_only')),
'spam'))
+ class Spam:
+ def test(self: 'anno', x):
+ pass
+
+ g = partialmethod(test, 1)
+
+ self.assertEqual(self.signature(Spam.g),
+ ((('self', ..., 'anno', 'positional_or_keyword'),),
+ ...))
+
def test_signature_on_fake_partialmethod(self):
def foo(a): pass
foo._partialmethod = 'spam'