test: mutation testing — break dotup on purpose and check the suite notices
Each file in .tests/mutations/ is one deliberate bug: what it breaks, why that matters, the assertion meant to catch it, and an OLD/NEW pair applied to a copy of the tree. A mutation is KILLED only when the suite fails AND the named assertion is among the failures — failing for an unrelated reason is reported as WRONG-TEST, because that is luck, and luck is lost the next time the unrelated test moves. A mutation whose OLD block no longer matches is STALE rather than quietly skipped. 19 reproduces the DU-C1 shape: a comment moved back inside the fzf line-continuation. It is killed by "dotup pick exits 0".
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# what: a comment moved back INSIDE the fzf line-continuation (the DU-C1 shape)
|
||||
# why: the `\`-newline is stripped first, so the comment's own newline ends the command: fzf gets two binds and the lines below run as a command named --bind
|
||||
# kills: dotup pick exits 0
|
||||
# run: unit
|
||||
<<<OLD
|
||||
--bind "tab:execute-silent($SELF expand {2})+reload($SELF render)" \
|
||||
<<<NEW
|
||||
--bind "tab:execute-silent($SELF expand {2})+reload($SELF render)" \
|
||||
# clear-query is not cosmetic: ^t toggles every row the filter shows.
|
||||
<<<END
|
||||
Reference in New Issue
Block a user