test(functions): cover variadic min and max edge cases
Merged
VI
24d ago+144+144+012345678901234567890123456789-1-1-0123456789
Summary
Protect the variadic min/max behavior introduced in #43 across Python capture, independent numerical evaluation and Python export. Clarify eager evaluation and unsupported argument forms in the authoring guide.
min/max(first, second, ...)
validate every operand, including dormant Value tree structure
evaluate arguments in source order
retain the first matching extremum, its numeric kind and signed zero
Evidence
- Before: Existing tests covered basic variadic calls and leading-operand ties. They lacked dedicated cases for later-operand ties, eager exception order and invalid extra operands in dormant branches.
After: Added 19 regression cases across core, Python and integration suites. Examples preserve float-3.0formin(8, -3.0, -3, 5)and negative zero formax(-1, -0.0, 0.0, -2)through capture, verification and export replay. npm run lintandnpm run typecheckpassed.PYTHON="$PWD/.venv/bin/python" npm testpassed: 367 project tests, 115 Python tests and 340 integration tests, totaling 822. Python ran from a freshly built and installed wheel.- Separate isolation/archive-consumer jobs were not run locally; hosted CI is pending.
Merge Danger
Door: two-way
Reverting removes regression coverage and documentation only. No runtime implementation changes.
Blast Radius: Tests
Affects numerical regression suites and the authoring guide.