45 lines
1.5 KiB
Plaintext
45 lines
1.5 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
set -eux
|
||
|
|
||
|
cleanup() {
|
||
|
unset -f nvm_has_system_node nvm_print_npm_version
|
||
|
}
|
||
|
die() { echo "$@" ; cleanup ; exit 1; }
|
||
|
|
||
|
\. ../../nvm.sh
|
||
|
|
||
|
nvm_has_system_node() { return 0; }
|
||
|
nvm_print_npm_version() { command printf ' (npm v1.2.3)'; }
|
||
|
|
||
|
EXPECTED_OUTPUT="Now using system version of node: $(node -v)$(nvm_print_npm_version)"
|
||
|
set +x # since stderr is needed
|
||
|
OUTPUT="$(nvm use system 2>&1)"
|
||
|
set -x
|
||
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "Could not use system version of node. Got >${OUTPUT}<, expected >${EXPECTED_OUTPUT}<"
|
||
|
|
||
|
EXPECTED_OUTPUT=""
|
||
|
set +x # since stderr is needed
|
||
|
OUTPUT="$(nvm use --silent system 2>&1 | tail -1)"
|
||
|
set -x
|
||
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "Could not use system version of node or --silent was not silent"
|
||
|
|
||
|
nvm_has_system_node() { return 1; }
|
||
|
nvm_print_npm_version() { command printf ''; }
|
||
|
|
||
|
EXPECTED_OUTPUT="System version of node not found."
|
||
|
set +x # since stderr is needed
|
||
|
OUTPUT="$(nvm use system 2>&1 | tail -1)"
|
||
|
set -x
|
||
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "Did not report error, system node not found"
|
||
|
|
||
|
nvm use system 2>&1 > /dev/null || [ $? -eq 127 ] || die "Did not return error code, system node not found"
|
||
|
EXPECTED_OUTPUT=""
|
||
|
set +x # since stderr is needed
|
||
|
OUTPUT="$(nvm use --silent system 2>&1 | tail -1)"
|
||
|
set -x
|
||
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "Did not report error, system node not found or --silent was not silent"
|
||
|
nvm use --silent system 2>&1 > /dev/null || [ $? -eq 127 ] || die "Did not return error code, system node not found or --silent was not silent"
|
||
|
|
||
|
cleanup
|