diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-23 01:07:52 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-23 01:07:52 -0500 |
| commit | add0011f688e63b30a6ca2d9f7cc06899c165ed5 (patch) | |
| tree | e87e1e161ba71d3f6cd184576fb69ca674b6df94 /tests/test-integration-buffer-diff.el | |
| parent | 0d3f8b611d0034eb084774f8a3ad523d722f79fd (diff) | |
| download | dotemacs-add0011f688e63b30a6ca2d9f7cc06899c165ed5.tar.gz dotemacs-add0011f688e63b30a6ca2d9f7cc06899c165ed5.zip | |
feat(coverage): add format-report helper for the report buffer
Pure helper that renders intersect records into the text shown in the coverage report buffer. Takes the list of per-file plists from cj/--coverage-intersect and a scope label, returns the formatted string.
Output has three sections depending on what's present:
- "Uncovered lines" — one line per uncovered line, formatted as "<path>:<line>: uncovered" so compilation-mode's default regex picks them up for next-error navigation.
- "Not tracked" — files changed in the diff but absent from the coverage data (READMEs, test files, config).
- "Fully covered" — tracked files where every changed line is covered.
Files with empty :changed-lines (deletion-only hunks) are omitted. Summary counts cover only tracked files, so an all-README change shows "0 of 0" rather than a misleading percentage over nothing.
Tests cover Normal (partial, fully covered, mixed sections), Boundary (empty records, 100% coverage with no uncovered section, only-not-tracked case, deletion-only exclusion), and the output format that next-error relies on.
Diffstat (limited to 'tests/test-integration-buffer-diff.el')
0 files changed, 0 insertions, 0 deletions
