Files
nvm/test/fast/Aliases/percent in alias name/nvm_resolve_alias
Jordan Harband d2fca5f0ec [Fix] nvm_resolve_local_alias: avoid using variable as printf format string
Using a variable as the format string means `%` characters in alias names would be interpreted as format specifiers.
Use `%b` format with the variable as an argument to safely interpret `\n` escapes.

Bug introduced in 9b91734f0b.
2026-03-14 10:16:25 -07:00

18 lines
764 B
Bash
Executable File

#!/bin/sh
\. ../../../common.sh
die () { echo "$@" ; exit 1; }
: nvm.sh
\. ../../../../nvm.sh
# An alias whose name contains % should resolve directly
try nvm_resolve_alias 'test-%s-alias'
[ "$CAPTURED_EXIT_CODE" = "0" ] || die "nvm_resolve_alias test-%s-alias failed with exit code $CAPTURED_EXIT_CODE"
[ "$CAPTURED_STDOUT" = "v0.0.1" ] || die "nvm_resolve_alias test-%s-alias was not v0.0.1; got $CAPTURED_STDOUT"
# An alias chain that passes through a %-containing alias name should resolve
try nvm_resolve_alias test-pct-chain
[ "$CAPTURED_EXIT_CODE" = "0" ] || die "nvm_resolve_alias test-pct-chain failed with exit code $CAPTURED_EXIT_CODE"
[ "$CAPTURED_STDOUT" = "v0.0.1" ] || die "nvm_resolve_alias test-pct-chain was not v0.0.1; got $CAPTURED_STDOUT"