test(config-settings): add byte-exact golden-output render harness
The three config-settings draw functions are hand-tuned layout code whose field widths, dash counts and pad targets are arithmetic on the width tier. Any refactor of them has to be byte-identical, and nothing until now could prove that. Renders all 356 page/width/scope/cursor-row combinations -- every page at COLUMNS 100/88/84/70, both scopes, cursor on every row, plus the inline editor -- and byte-compares against a committed baseline. The golden holds raw output: set_color escapes and box drawing exactly as emitted, plus the wrap-aware \e[<N>A\e[J erase config-settings.fish would emit for each panel, and per case the declared panel height against the measured line count. Nothing is normalized; the gate is cmp(1) and a one-space change anywhere fails it. Proven by four deliberate mutations, one per draw function plus a panel-height change, each caught and reverted. Runs entirely inside a throwaway HOME/XDG_CONFIG_HOME sandbox: the fixtures must be real universal variables, and this repo doubles as a live ~/.config/fish. fish --no-config cannot be used, as -N silently degrades set -U to global scope. Every utility is called through `command`, since the config itself shadows rm, cat and mkdir and aliases cp -i.
This commit is contained in: