File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -164,3 +164,27 @@ def test_inspecting_class_instance() -> None:
164164 },
165165 ) as tmp_package :
166166 assert not tmp_package ["foo.x" ].is_alias
167+
168+
169+ def test_inheriting_self_from_parent_class () -> None :
170+ """Inspect self only once when inheriting it from parent class."""
171+ with temporary_inspected_module (
172+ """
173+ class A: ...
174+ class B(A): ...
175+
176+ A.B = B
177+ """ ,
178+ ) as module :
179+ assert "B" in module ["A" ].members
180+ assert "B" in module ["B" ].all_members
181+ # Continue indefinitely.
182+ assert "B" in module ["A.B" ].all_members
183+ assert "B" in module ["B.B" ].all_members
184+ assert "B" in module ["A.B.B" ].all_members
185+ assert "B" in module ["B.B.B" ].all_members
186+ # All resolve to A.B.
187+ assert module ["A.B.B" ].final_target is module ["A.B" ]
188+ assert module ["B.B.B" ].final_target is module ["A.B" ]
189+ assert module ["A.B.B.B" ].final_target is module ["A.B" ]
190+ assert module ["B.B.B.B" ].final_target is module ["A.B" ]
You can’t perform that action at this time.
0 commit comments