| #!/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}<" |