Skip to content
// Notes

A passing suite proves what it was pointed at

From Parlour

Parlour finished with twenty-eight games and a green test suite, and then four bugs turned up in the first few minutes of opening it in a real browser. None of them threw an error, and none of them was exotic. Each was a kind of thing a suite is structurally blind to.

The shared cell component sat at the bottom of the stylesheet, after every game that extends it — so Sudoku, Minesweeper, Word Search and Picture Puzzles drew squares with no background and no borders. Every contrast check passed, because the colours were right. They were just being overwritten two hundred lines further down. A cascade bug can only be read off the order of two rules, never off either rule on its own.

There was no box-sizing rule at all, so every width: 100% element overflowed its container by its own padding. It hid well, because Chrome gives buttons border-box in its own stylesheet: every control was right by accident, and every plain <div> was wrong.

There was no :disabled style either. Undo sat in full accent green on a freshly dealt game — the brightest thing on the screen, inviting a press that does nothing. And Solitaire, the first card on the home screen, was drawing its own flat card instead of the shared one the other ten card games use.

The suite now checks cascade order, and that check was watched failing against the old stylesheet before it was kept — a test for a structural property is worth nothing until you have seen it fail for the right reason. But the change that matters is procedural. Look at the thing on the screen it will be on, at the size it will be, before believing a report that says it is fine.

// Open for work

Want something like this, built to your own brief?

Fast, accessible, and built to last — no page builders, no template you'll outgrow in a year. Tell me what you need and the contact form goes straight to my inbox.