cpython: inspect.classify_class_attrs: Classify object.__new__ and __init__ correctly
http://hg.python.org/cpython/rev/c38f99554be4 changeset: 88864:c38f99554be4 user: Yury Selivanov <yselivanov@sprymix.com> date: Fri Jan 31 14:28:44 2014 -0500 summary: inspect.classify_class_attrs: Classify object.__new__ and __init__ correctly #18801 files: Lib/inspect.py | 2 +- Lib/test/test_inspect.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/Lib/inspect.py b/Lib/inspect.py --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -412,7 +412,7 @@ elif isinstance(dict_obj, property): kind = "property" obj = dict_obj - elif isfunction(obj) or ismethoddescriptor(obj): + elif isroutine(obj): kind = "method" else: kind = "data" diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -646,6 +646,10 @@ md = _BrokenMethodDescriptor() attrs = attrs_wo_objs(A) + + self.assertIn(('__new__', 'method', object), attrs, 'missing __new__') + self.assertIn(('__init__', 'method', object), attrs, 'missing __init__') + self.assertIn(('s', 'static method', A), attrs, 'missing static method') self.assertIn(('c', 'class method', A), attrs, 'missing class method') self.assertIn(('p', 'property', A), attrs, 'missing property') -- Repository URL: http://hg.python.org/cpython
participants (1)
-
yury.selivanov