test(issueflow): the marker's collision test is pairwise, not through one form

Anchoring every pair on the `/` spelling passed under a fix that only
taught the slug about `/` — and that fix still collapses `acme-widgets#9`,
`acme_widgets#9` and `acme.widgets#9` onto one marker. Found by mutating
the implementation to that cheap fix and watching the suite stay green on
the cases that matter. The contract is that no two distinct parses
collide, so the assertion is now every pair.

Refs #252
This commit is contained in:
cndgrr 2026-08-03 20:07:23 +00:00
parent 5910c36137
commit 195c49b8e1

View file

@ -264,10 +264,20 @@ check "the marker survives a cross-repo reference's punctuation" 0 \
check "the slug alone cannot separate a qualified ref from a hyphenated one" 0 "" \ check "the slug alone cannot separate a qualified ref from a hyphenated one" 0 "" \
test "$(printf '%s' '{acme/widgets#9}' | tr -c '[:alnum:]' '-' | sed 's/--*/-/g; s/^-//; s/-$//')" \ test "$(printf '%s' '{acme/widgets#9}' | tr -c '[:alnum:]' '-' | sed 's/--*/-/g; s/^-//; s/-$//')" \
= "$(printf '%s' '{acme-widgets#9}' | tr -c '[:alnum:]' '-' | sed 's/--*/-/g; s/^-//; s/-$//')" = "$(printf '%s' '{acme-widgets#9}' | tr -c '[:alnum:]' '-' | sed 's/--*/-/g; s/^-//; s/-$//')"
for collides_with_acme_widgets in '{acme-widgets#9}' '{acme_widgets#9}' '{acme.widgets#9}'; do # Pairwise, and deliberately so. Anchoring every pair on the `/` spelling
check "...but the marker does, against $collides_with_acme_widgets" 1 "" test \ # would pass under a fix that only taught the slug about `/` — and that fix
"$(blocked_parse_marker '{acme/widgets#9}')" \ # leaves `{acme-widgets#9}`, `{acme_widgets#9}` and `{acme.widgets#9}` sharing
= "$(blocked_parse_marker "$collides_with_acme_widgets")" # one marker. The contract is that no two distinct parses collide, so the test
# is every pair, not every pair through one representative.
marker_family=(
'{acme/widgets#9}' '{acme-widgets#9}' '{acme_widgets#9}' '{acme.widgets#9}'
)
for left in "${marker_family[@]}"; do
for right in "${marker_family[@]}"; do
[ "$left" != "$right" ] || continue
check "...but the marker does: $left vs $right" 1 "" test \
"$(blocked_parse_marker "$left")" = "$(blocked_parse_marker "$right")"
done
done done
check "the qualifier's punctuation reaches the marker's identity" 1 "" test \ check "the qualifier's punctuation reaches the marker's identity" 1 "" test \
"$(blocked_parse_marker '{#12, heavy-duty/box#9}')" \ "$(blocked_parse_marker '{#12, heavy-duty/box#9}')" \