Test fixtures and verification status
Verification status
The generator's core functions are run against four fixed test cases by a script each time the product and the site are published.
Each time the free check page loads, it runs its own self-test and hides the buy link if the generator fails in your browser.
The generator (app.js) and that script were written by automated AI agents. No person has read or tested them. The script is not a file of this site, and this page runs nothing: it lists the four test cases so that anyone can open their inputs.
What the script compares
- For the first three test cases: the free result (score, counts and the items shown) and the text of every pack file, each against the expected values stored for that case, and the ZIP, read back entry by entry.
- For the fourth test case: that damaged pack data produces the expected failure notice and no pack.
What the script does not run
- The generator page in a browser: the form, the result on screen and the download links.
- The licence key step: sending a key, a wrong key, a refunded key, and loading the pack data after a key is accepted.
- Any real site. The four test cases are made-up pages.
What the self-test covers
The self-test of the free check page analyses a built-in made-up page and builds a small test ZIP. It covers the free result and the first bytes of the ZIP only, not the licence key step. If it fails, or the script does not load or stops with an error, the buy link stays hidden, the licence-key field is hidden and a notice tells you not to buy.
If the tool fails for you after a purchase, the refund terms on the free check page apply.
Demo fixtures
Each fixture is an example for a made-up demo site, not a customer site. The businesses, addresses and phone numbers in them do not exist. Each input file holds the text a visitor would paste and type, and is published here. For each input the script also has a file of expected values: the free result and the pack files the tool should produce for it.
The expected values were written by the automated agent that wrote the tool, by applying the tool's rules to the demo inputs. They are not files of this site, because they hold the full text of the paid pack. The script named above reads its own copies of the four inputs and the four files of expected values, kept outside this site, and compares the expected values with what the generator's functions return.
- bakery-static, a static bakery page: input (bakery-static.input.json). The check shows that a readable static page gets the expected three findings and a pack that includes the questions-and-answers file.
- plumber-blocked, a plumber page with a blocked crawler: input (plumber-blocked.input.json). The check shows that the blocked crawler, the missing description and H1, the differing phone number and the other canonical address are each reported, and that no crawler group is added for the blocked crawler. The sample page describes the pack for this case.
- studio-js-shell, a JavaScript app shell: input (studio-js-shell.input.json). The check shows that a page whose text appears only after scripts run is reported as such, and that a missing robots.txt is handled.
- broken-rules, deliberately broken pack data: input (broken-rules.input.json). The check shows that damaged pack data is refused and no pack is built.
The fourth case does not expect a pack. Its input holds a damaged copy of the rule tables that a licence key unlocks, and the expected value is the notice the page must show in place of the files: that the full version failed in this browser, that the licence key is still valid in another browser, and how to request a refund.