[ILibraryView] don't fail on nested dangling ref

This commit is contained in:
Jan Petykiewicz 2026-03-30 23:34:31 -07:00
commit d03fafcaf6
2 changed files with 21 additions and 2 deletions

View file

@ -166,6 +166,24 @@ def test_library_flatten_repeated_ref_with_ports_raises() -> None:
lib.flatten("parent", flatten_ports=True)
def test_library_flatten_dangling_ok_nested_preserves_dangling_refs() -> None:
lib = Library()
child = Pattern()
child.ref("missing")
lib["child"] = child
parent = Pattern()
parent.ref("child")
lib["parent"] = parent
flat = lib.flatten("parent", dangling_ok=True)
assert set(flat["child"].refs) == {"missing"}
assert flat["child"].has_refs()
assert set(flat["parent"].refs) == {"missing"}
assert flat["parent"].has_refs()
def test_lazy_library() -> None:
lib = LazyLibrary()
called = 0