File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -285,12 +285,7 @@ def wrap(cls):
285285 cls_dict .pop (ca_name , None )
286286 cls_dict .pop ('__dict__' , None )
287287
288- if repr_ns is None :
289- cls_name = getattr (cls , "__qualname__" , cls .__name__ )
290- else :
291- cls_name = cls .__name__
292-
293- cls = type (cls_name , cls .__bases__ , cls_dict )
288+ cls = type (cls .__name__ , cls .__bases__ , cls_dict )
294289
295290 return cls
296291
Original file line number Diff line number Diff line change @@ -287,6 +287,21 @@ class D(object):
287287 pass
288288 assert "C.D()" == repr (C .D ())
289289
290+ @pytest .mark .skipif (PY2 , reason = "__qualname__ is PY3-only." )
291+ @given (slots_outer = booleans (), slots_inner = booleans ())
292+ def test_name_not_overridden (self , slots_outer , slots_inner ):
293+ """
294+ On Python 3, __name__ should not be the same as __qualname__ for nested classes.
295+ """
296+ @attributes (slots = slots_outer )
297+ class C (object ):
298+ @attributes (slots = slots_inner )
299+ class D (object ):
300+ pass
301+
302+ assert C .D .__name__ == "D"
303+ assert C .D .__qualname__ == "C.D"
304+
290305
291306@attributes
292307class GC (object ):
You can’t perform that action at this time.
0 commit comments