voyage/tests
Kjell Tore Guttormsen b79495847d
test(changelog): find the 6.4.0 section by its title, before and after the release commit
Two docs tests located this delivery's CHANGELOG section by the literal
heading `## Unreleased` (one also required it to be the first section).
The release commit renames it to `## v6.4.0 — <date> — <title>`
(docs/release-runbook.md § 1.4), so all 16 content pins failed on the
release commit while the content was the same.

One shared helper, tests/helpers/changelog-section.mjs, now finds the
section by its title under either heading, wherever it stands (a later
delivery's section above it does not move the pins), with a trailing \r or
spaces tolerated, and only when it stands exactly once. Every content
assertion is unchanged; their messages no longer say "Unreleased". New
tests pin the accepted headings and seven near misses (version, date,
title, the literal dot in 1.9), and the helper on a later section, a \r,
a duplicate and a missing section.

Measured: 46/46 pass against main's CHANGELOG and against the release
commit's CHANGELOG; before the change, 16 failed on the release commit.
Three mutants of the helper (a looser date, no escaping, no trim) are
each failed by one test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 00:13:32 +02:00
..
commands refactor(simplify): one source per rule, shared test helpers, a faster isolation test [skip-docs] 2026-10-12 21:06:47 +02:00
fixtures docs(plan): Phase 9, Handover 4 and CLAUDE.md name rule A, with door lines 2026-10-16 01:34:51 +02:00
helpers test(changelog): find the 6.4.0 section by its title, before and after the release commit 2026-10-17 00:13:32 +02:00
hooks fix(tests): the post-compact hook test takes its child timeout from the shared timing helper 2026-10-15 15:43:36 +02:00
integration chore(voyage): release v5.0.0 — remove bespoke playground + /trekrevise + Handover 8; render produced artifacts to HTML + link, annotate via /playground 2026-05-12 14:05:07 +02:00
lib test(changelog): find the 6.4.0 section by its title, before and after the release commit 2026-10-17 00:13:32 +02:00
parsers chore(voyage): release v5.0.0 — remove bespoke playground + /trekrevise + Handover 8; render produced artifacts to HTML + link, annotate via /playground 2026-05-12 14:05:07 +02:00
review refactor(simplify): drop a dead branch and repeated fixtures from the round-2 remediation 2026-10-14 13:43:24 +02:00
scripts refactor(simplify): drop a dead branch and repeated fixtures from the round-2 remediation 2026-10-14 13:43:24 +02:00
synthetic chore(voyage): S34 — V30 economy-profile self-declares experimental (uncalibrated Jaccard floor) 2026-06-20 10:18:38 +02:00
validators refactor: simplify pass (trekexecute) 2026-10-16 17:03:56 +02:00
e2e-critic-diff-mode.sh fix(review): plan dedup ranks a merged pair by what rule B counts, so reviewer order never lowers a blocker 2026-10-16 16:46:10 +02:00
e2e-files-trial4.sh fix(execute): below 1.8 a plan that names no test file gets the files the helper wrote 2026-10-14 18:17:24 +02:00