aboutsummaryrefslogtreecommitdiff
path: root/test/test_overlay.ml
Commit message (Collapse)AuthorAgeFilesLines
* test(layer): cover load's failure modes and same-date index orderingLukasz Kasprzak2026-08-111-1/+80
| | | | | | | | | | | | | load previously had zero coverage despite being the module's only fallible- I/O function and the one place the brief's literal code would have let an exception escape on this sexplib version (Failure instead of Parse_error). Add cases for a missing file, a malformed/unterminated sexp, an invalid slug embedded in an otherwise well-formed layer, and a success round-trip. Also add a same-date index case with three entries inserted out of slug order, pinning that the by-date index accumulates rather than overwrites and returns buckets in canonical order regardless of insertion order -- the previous two-entry fixture only ever touched bucket sizes 0 and 1.
* kernel(layer): sanctoral layer with canonical order and date indexLukasz Kasprzak2026-08-111-0/+45
Entries sort by slug so equal layers serialise identically. The by-date index is built once per layer rather than per year, since fixed dates are year-independent; a full-domain sweep would otherwise rescan every entry for every day. load turns parse and validation failures into result.