You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
#!/bin/sh |
|
|
|
die () { echo "$@" ; exit 1; } |
|
|
|
. ../../nvm.sh |
|
|
|
VERSION='v0.11.0' |
|
VERSION_PATH="$(nvm_version_path "${VERSION}")" |
|
|
|
succeed() { |
|
nvm_echo "$@" |
|
NVM_INSTALL_THIRD_PARTY_HOOK= nvm install "${VERSION}" |
|
} |
|
|
|
fail() { |
|
succeed "$@" |
|
return 11 |
|
} |
|
|
|
! nvm_is_version_installed "${VERSION}" || nvm uninstall "${VERSION}" || die 'uninstall failed' |
|
|
|
# an existing but empty VERSION_PATH directory should not be enough to satisfy nvm_is_version_installed |
|
rm -rf "${VERSION_PATH}" |
|
mkdir -p "${VERSION_PATH}" |
|
nvm_is_version_installed "${VERSION}" && die 'nvm_is_version_installed check not strict enough' |
|
rmdir "${VERSION_PATH}" |
|
|
|
OUTPUT="$(NVM_INSTALL_THIRD_PARTY_HOOK=succeed nvm install "${VERSION}")" |
|
USE_OUTPUT="$(nvm use "${VERSION}")" |
|
EXPECTED_OUTPUT="${VERSION} node std binary ${VERSION_PATH} |
|
Downloading and installing node ${VERSION}... |
|
${USE_OUTPUT}" |
|
|
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<" |
|
|
|
! nvm_is_version_installed "${VERSION}" || nvm uninstall "${VERSION}" || die 'uninstall 2 failed' |
|
|
|
OUTPUT="$(NVM_INSTALL_THIRD_PARTY_HOOK=fail nvm install "${VERSION}" || echo 'failed')" |
|
USE_OUTPUT="$(nvm use "${VERSION}")" |
|
EXPECTED_OUTPUT="${VERSION} node std binary ${VERSION_PATH} |
|
Downloading and installing node ${VERSION}... |
|
${USE_OUTPUT} |
|
failed" |
|
|
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<"
|
|
|