Commit Graph

20 Commits

Author SHA1 Message Date
lilleman c232e65001 Test the double-quoted comma hint and the branch that names it, and match a personnummer's birth number by text 2026-09-18 20:17:46 +02:00
lilleman 2d08bf4b32 Expect a grammar-only layout error, a bare record spelling and a Swedish title table 2026-09-18 20:01:05 +02:00
lilleman 9d63943237 Expect the pluralized argument count 2026-09-18 19:52:50 +02:00
lilleman bb43345d63 Tests for runnable layout and row-ambiguity errors, a one-day date span, sexed US titles and the record a fieldless category needs 2026-09-18 19:52:00 +02:00
lilleman 86eb55d564 Test that date() refuses a layout naming no date field, and bench the personnummer by name 2026-09-18 18:39:04 +02:00
lilleman 63f4bf7c0a Test that an unquoted layout holding a comma is refused naming its quoted spelling 2026-09-18 18:18:04 +02:00
lilleman 7ff817d5ae Tests for date() and time(), a named table keyed by its parent, and weighted names and valid ids in both locales 2026-09-18 18:05:47 +02:00
lilleman 1ad9418a76 Tests: a printed zero is no divisor and prints unsigned, int64 refusals say so, and CSVLine allocates twice 2026-09-15 15:08:14 +02:00
lilleman de8c1d13e9 Tests for one spelling per shape: no one-item choice, repeated item or inert object 2026-09-02 12:38:07 +02:00
lilleman 99d8aa0fb7 Tests for literal format text, brace escapes and the class builtins 2026-09-02 12:28:51 +02:00
lilleman 5d33f4c0f0 Rename the builtin kind from generator to sample
Tests / vet + fmt + tests (pull_request) Successful in 32s
2026-09-01 21:41:35 +02:00
lilleman 04b7b6a432 Rename the exported type to Generator and retire the faker wording
Tests / vet + fmt + tests (pull_request) Successful in 25s
2026-09-01 21:34:27 +02:00
lilleman 05dc042e49 Rename the project to fejkdata and record the fork source
Tests / vet + fmt + tests (pull_request) Failing after 6s
2026-09-01 20:24:03 +02:00
M 39d59aec23 Pin the prep-time guards, and say why an operand's set is the narrow one
The guards report an invariant break instead of computing around it, and no
data reaches them, so they are called directly: coverage 97.4% -> 97.7%,
which also covers the empty-cover skip through a literal operand.

operandDraw's doc keeps why neither wider set works, since both were tried
here — containment reaches a sibling the operand never renders, the render
closure reaches a source two operands share — and drops the rest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:58:37 +02:00
M 403d68de27 Write every builtin one way
A builtin could be spelled as prep (args parsed once, at compile) or call
(args parsed per render), reaching the same closure by two routes. Nothing
enforced the "exactly one of" invariant: supplying both silently dropped
call, supplying neither compiled and then panicked inside a render, and a
test existed only to police it.

prep does everything call did, so it is now the one spelling. The zero-arg
shapes the README already names — a derivation reads the output emitted so
far, a generator reads only the rng — lift through derive and generate, so
the registry reads as that taxonomy. iban stops looking its country up per
render.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 13:33:05 +02:00
lilleman c11ae5f04f Expect objectid as a data category rather than a builtin 2026-08-28 13:35:12 +02:00
Mikael Göransson 37759f773f Pin the builtin registry shape and grow as a lower bound, and correct stale comments 2026-08-28 13:20:07 +02:00
lilleman 5b6480a094 Updates from reviewers 2026-06-09 10:03:53 +02:00
lilleman cde56b7924 Add session-scoped seq() builtin; move uuid v4 from locales to misc only 2026-06-09 01:52:39 +02:00
lilleman ae41e6bb97 Add ID/checksum/numeric builtins and a misc data folder (uuid v4, mac, creditcard) 2026-06-09 01:25:41 +02:00