fix inspect.formatargspec on functions with keyword-only arguments without defaults #4959

This commit is contained in:
Benjamin Peterson 2009-01-17 04:15:01 +00:00
parent c10c34d6cb
commit 9953a8dfd6
4 changed files with 15 additions and 1 deletions

View file

@ -105,3 +105,7 @@ def keyworded(*arg1, arg2=1):
#line 105
def annotated(arg1: list):
pass
#line 109
def keyword_only_arg(*, arg):
pass

View file

@ -386,6 +386,9 @@ class TestClassesAndFunctions(unittest.TestCase):
self.assertRaises(ValueError, self.assertArgSpecEquals,
mod2.annotated, [])
self.assertRaises(ValueError, self.assertArgSpecEquals,
mod2.keyword_only_arg, [])
def test_getfullargspec(self):
self.assertFullArgSpecEquals(mod2.keyworded, [], varargs_e='arg1',
@ -396,6 +399,10 @@ class TestClassesAndFunctions(unittest.TestCase):
self.assertFullArgSpecEquals(mod2.annotated, ['arg1'],
ann_e={'arg1' : list},
formatted='(arg1: list)')
self.assertFullArgSpecEquals(mod2.keyword_only_arg, [],
kwonlyargs_e=['arg'],
formatted='(*, arg)')
def test_getargspec_method(self):
class A(object):