mirror of
https://github.com/nvm-sh/nvm.git
synced 2026-02-04 17:02:48 +08:00
Normalize `nvm_version` output when `nvm_ls` returns "system vX" so alias and .nvmrc resolutions treat system correctly. Add fast tests for system alias behavior in `nvm ls`, `nvm use`, and `nvm which`.
50 lines
1022 B
Bash
Executable File
50 lines
1022 B
Bash
Executable File
#!/bin/zsh
|
|
|
|
export NVM_DIR="$(cd ../../.. && pwd)"
|
|
|
|
: nvm.sh
|
|
\. ../../../nvm.sh
|
|
\. ../../common.sh
|
|
|
|
if type setopt >/dev/null 2>&1; then setopt local_options markdirs; fi
|
|
|
|
die () {
|
|
if type unsetopt >/dev/null 2>&1; then unsetopt local_options markdirs; fi
|
|
echo "$@";
|
|
exit 1;
|
|
}
|
|
|
|
make_fake_node v0.0.1
|
|
make_fake_node v0.0.3
|
|
make_fake_node v0.0.9
|
|
make_fake_node v0.3.1
|
|
make_fake_node v0.3.3
|
|
make_fake_node v0.3.9
|
|
make_fake_node v0.12.87
|
|
make_fake_node v0.12.9
|
|
make_fake_iojs v0.1.2
|
|
make_fake_iojs v0.10.2
|
|
|
|
OUTPUT="$(nvm_ls)"
|
|
EXPECTED_OUTPUT="v0.0.1
|
|
v0.0.3
|
|
v0.0.9
|
|
iojs-v0.1.2
|
|
v0.3.1
|
|
v0.3.3
|
|
v0.3.9
|
|
iojs-v0.10.2
|
|
v0.12.9
|
|
v0.12.87"
|
|
if nvm_has_system_node || nvm_has_system_iojs; then
|
|
SYSTEM_VERSION="$(nvm deactivate >/dev/null 2>&1 && node -v 2>/dev/null)"
|
|
if [ -n "${SYSTEM_VERSION}" ]; then
|
|
EXPECTED_OUTPUT="${EXPECTED_OUTPUT}
|
|
system ${SYSTEM_VERSION}"
|
|
else
|
|
EXPECTED_OUTPUT="${EXPECTED_OUTPUT}
|
|
system"
|
|
fi
|
|
fi
|
|
[ "${OUTPUT-}" = "${EXPECTED_OUTPUT-}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<"
|