mix html5lib.sync (PureHTML v0.5.0)

View Source

The fixtures under test/fixtures/html5lib/ are html5lib-tests, each directory at the commit UPSTREAM there pins for it, byte for byte. The cases whose expectation contradicts the WHATWG text are corrected by the runners from test/fixtures/corrections/, never by editing these files.

mix html5lib.sync

lists every fixture file that differs from upstream at its directory's pin and fails if there is one, so it can gate like mix format --check-formatted. Offline, it runs against the clone under _build when that already holds every pinned commit.

mix html5lib.sync <commit>

moves every directory the commit still has to that commit, replacing its files; a directory absent there (tree-construction after 9329e64) keeps its pin and its files. Then run the suite: a correction whose case upstream changed fails by name and needs a fresh walk.

The clone lives under _build; git -C <clone> show <commit>:<path> prints any upstream version of a file.