testsAndMisc-archive/bucket_catch
Krzysztof kuhy Rudnicki 38f7718a49 bucket_catch: split usePuzzleGameLoop.test.ts 332 -> 125 + 210
Eleven tests split by theme: the five that assert the loop declines to start
or tears down cleanly stay put; the six that actually play the game move to
usePuzzleGameLoopPlay.test.ts.

Fixtures went to src/test/puzzleLoopFixtures.ts (62) -- that path is required,
not stylistic, since coverage excludes src/test/** and a fixture beside the
hook would be counted as production code and break the 100% gate.

flushTick could not move as-is: it closed over the describe block's
rafCallbacks. It is now installRafHarness(), which owns the queue and hands
back a bound flushTick, so the two suites cannot leak frames into each other.

The check that matters for a test split is the pair (15 files, 145 tests):
file count up by one, test count unchanged. A name outside vitest's glob would
have passed just as green with six tests never running.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-17 10:07:38 +02:00
..
packages bucket_catch: split usePuzzleGameLoop.test.ts 332 -> 125 + 210 2026-08-17 10:07:38 +02:00
.gitignore Add bucket_catch: osu!catch browser game with 100% frontend test coverage 2026-06-27 12:21:35 +02:00
package.json style: prettier formatting on bucket_catch lockfile and package.json 2026-06-27 12:22:16 +02:00
pnpm-lock.yaml style: prettier formatting on bucket_catch lockfile and package.json 2026-06-27 12:22:16 +02:00
pnpm-workspace.yaml Add bucket_catch: osu!catch browser game with 100% frontend test coverage 2026-06-27 12:21:35 +02:00