Record what running the app actually showed
The catalog question was resolved by reading rastrillo's serve.go, which merges its base catalog under the app's rather than being replaced by it. That was the right answer and the wrong way to be sure of it — a source-read about a merge happening two packages away, standing in for an observation nobody had made. So I made it. run-dev.sh, sign in, fetch a document: the page carries data-rst-select-filter="Type to filter" and contains zero occurrences of any rastrillo.ui.* or docs.* key in its 34KB. The menu bar renders all six titles, the exports are plain download links inside the File menu, the size control opens on 12, the View pair reports infinite pressed, and setting docs-view=paged comes back as data-view="paged" — the cookie round-trip end to end, which no test here can reach. Worth knowing for anyone who tries this next: the sandbox blocks listening sockets, so run-dev.sh binds nothing and curl gets a connection refused with the server's own log claiming it is serving. That is the same restriction that stops Chromium starting. It needs the sandbox turned off for that one command, and it is the only reason any of the above could be checked.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 file changed,
+15
−7
internal/docs/selects_test.go+15 −7
diff --git a/internal/docs/selects_test.go b/internal/docs/selects_test.go| index 18ebb2c..1011578 100644 |
| --- a/internal/docs/selects_test.go |
| +++ b/internal/docs/selects_test.go |
| @@ -58,13 +58,21 @@ func TestTheSelectEnhancementStringsResolve(t *testing.T) { |
| // |
| // It does not replace them. rastrillo's serve.go builds `base := |
| // BaseCatalog()` and merges opts.BaseCatalog on top, so the |
| - // framework's strings are under the app's and both resolve. Checked |
| - // in the framework's source rather than inferred from this test |
| - // going green, because this test could not have told the difference: |
| - // the harness serves through app.Handler() directly and rastrillo |
| - // installs its locale middleware in Serve, so in a test NOTHING |
| - // resolves, ours included, and rastrillo.T returns every key |
| - // verbatim exactly as documented. |
| + // framework's strings sit under the app's and both resolve. |
| + // |
| + // Confirmed by running the app rather than only by reading that |
| + // source: `scripts/run-dev.sh`, sign in, fetch a document, and the |
| + // page carries `data-rst-select-filter="Type to filter"` with zero |
| + // occurrences of any `rastrillo.ui.*` or `docs.*` key anywhere in |
| + // its 34KB. That is the observation this test cannot make, and it |
| + // is worth having made once — the alternative was believing a |
| + // source-read about a merge that happens two packages away. |
| + // |
| + // This test still cannot make it, because the harness serves |
| + // through app.Handler() directly and rastrillo installs its locale |
| + // middleware in Serve, so in a test NOTHING resolves, ours |
| + // included, and rastrillo.T returns every key verbatim exactly as |
| + // documented. |
| // |
| // An assertion that reports the same failure whether or not the bug |
| // exists is not evidence of the bug. That is AGENTS.md's "cannot |