[BuildLibrary / OverlayLibrary] further simplifications
This commit is contained in:
parent
c420ac8085
commit
1723212424
3 changed files with 105 additions and 133 deletions
|
|
@ -50,13 +50,13 @@ def test_build_library_tracks_helper_provenance_and_tree_merge_renames() -> None
|
|||
_built, report = builder.build()
|
||||
|
||||
helpers = [
|
||||
prov for prov in report.provenance.values()
|
||||
(name, prov) for name, prov in report.provenance.items()
|
||||
if prov.owner_declared_name == "top" and prov.kind == "helper"
|
||||
]
|
||||
|
||||
assert "top" in _owned_by(report, "top")
|
||||
assert len(helpers) == 2
|
||||
assert any(prov.renamed_from == "_helper" for prov in helpers)
|
||||
assert any(name != prov.requested_name for name, prov in helpers)
|
||||
|
||||
|
||||
def test_build_library_requires_build_session_for_reads_and_freezes_after_build() -> None:
|
||||
|
|
@ -152,6 +152,25 @@ def test_build_library_allows_helper_writes_via_pather() -> None:
|
|||
assert helper_prov.owner_declared_name == "top"
|
||||
|
||||
|
||||
def test_build_library_contains_tracks_active_session_names() -> None:
|
||||
builder = BuildLibrary()
|
||||
builder["leaf"] = Pattern()
|
||||
builder.add_source(Library({"src": Pattern()}))
|
||||
|
||||
def make_top(lib: BuildLibrary) -> Pattern:
|
||||
assert "leaf" in lib
|
||||
assert "src" in lib
|
||||
assert "_helper" not in lib
|
||||
lib["_helper"] = Pattern()
|
||||
assert "_helper" in lib
|
||||
return Pattern()
|
||||
|
||||
builder.cells.top = cell(make_top)(builder)
|
||||
built, _report = builder.build()
|
||||
|
||||
assert "_helper" in built
|
||||
|
||||
|
||||
def test_build_library_preserves_source_cells_and_records_source_provenance() -> None:
|
||||
source = Library({"src": Pattern()})
|
||||
builder = BuildLibrary()
|
||||
|
|
@ -184,7 +203,7 @@ def test_build_library_add_source_can_rename_every_source_cell() -> None:
|
|||
"parent": "mapped_parent",
|
||||
}
|
||||
assert "mapped_child" in built["mapped_parent"].refs
|
||||
assert report.provenance["mapped_child"].source_name == "child"
|
||||
assert report.provenance["mapped_child"].requested_name == "child"
|
||||
|
||||
|
||||
def test_build_library_rejects_source_cells_added_after_add_source() -> None:
|
||||
|
|
@ -236,7 +255,7 @@ def test_build_library_can_rename_imported_source_cells_during_authoring() -> No
|
|||
assert "renamed_child" in built
|
||||
assert "child" not in built
|
||||
assert "renamed_child" in built["parent"].refs
|
||||
assert report.provenance["renamed_child"].source_name == "child"
|
||||
assert report.provenance["renamed_child"].requested_name == "child"
|
||||
|
||||
|
||||
def test_build_library_rejects_move_references_for_source_rename() -> None:
|
||||
|
|
@ -276,7 +295,6 @@ def test_build_library_helper_rename_updates_provenance_owner() -> None:
|
|||
prov = report.provenance["final_helper"]
|
||||
assert prov.kind == "helper"
|
||||
assert prov.requested_name == "_helper"
|
||||
assert prov.renamed_from == "_helper"
|
||||
|
||||
|
||||
def test_build_library_helper_delete_removes_provenance_and_ownership() -> None:
|
||||
|
|
@ -314,7 +332,6 @@ def test_build_library_helper_rename_after_auto_rename_preserves_requested_name(
|
|||
assert "final_helper" in built
|
||||
prov = report.provenance["final_helper"]
|
||||
assert prov.requested_name == "_helper"
|
||||
assert prov.renamed_from == "_helper"
|
||||
|
||||
|
||||
def test_build_library_rejects_renaming_declared_or_source_cells_during_build() -> None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue