aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/subject.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 12:54:56 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 12:54:56 +0200
commit2747e01ca00e3be9b8b94c4eddc2c9a17daedce7 (patch)
treeef0c63c87e7ed38ffbf4b0290e6e4ca74d92c27c /lib/kernel/subject.ml
parent3cb45720f5e2ba7bd8be9a5113d866be22ad07a8 (diff)
downloadcolitur-2747e01ca00e3be9b8b94c4eddc2c9a17daedce7.tar.gz
colitur-2747e01ca00e3be9b8b94c4eddc2c9a17daedce7.zip
test(overlay): close review gaps in the merge-algebra test suite
Five review findings, all in the test suite the task designates as the algebra's specification: - test_diagnostics's headline assertion was vacuous: it checked slug presence after an add-over-existing, but hilary was already present before the Add ran, so a broken implementation that recorded the diagnostic and skipped applying the entry would still pass. Add now carries a rank that genuinely differs from base()'s default, and the assertion checks the field actually changed. - Set_subject, Set_name, Remove_name, Set_citation and Remove_citation were implemented but never exercised. Added coverage for all five, including the case that matters most for Set_citation: setting a part that already exists must replace it, not append a duplicate. - Replace had zero coverage. Added tests for both its existing-slug path (entry swapped, no diagnostic) and its absent-slug path (diagnostic recorded, entry still added). - merge's diagnostic accumulation was untested; test_merge_order discarded the diagnostics it got back. Added a test asserting two overlays' each producing one diagnostic come back in application order. Extended the cel/entry test helpers with optional subject/names/citations so the new tests can build fixtures with those fields populated.
Diffstat (limited to 'lib/kernel/subject.ml')
0 files changed, 0 insertions, 0 deletions