63 lines
2.7 KiB
Bash
Executable File
63 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
die () { echo "$@" ; cleanup ; exit 1; }
|
|
cleanup () {
|
|
rm -rf "$(nvm_version_path v0.1.2)"
|
|
unset -f nvm_has_system_node nvm_has_system_iojs
|
|
}
|
|
|
|
\. ../../../nvm.sh
|
|
|
|
mkdir -p "$(nvm_version_path v0.1.2)"
|
|
|
|
OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
|
|
EXIT_CODE=$?
|
|
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
|
|
|
|
You need to run "nvm install foo" to install it before using it.'
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
|
|
|
|
OUTPUT="$(nvm_ensure_version_installed 0.1)"
|
|
EXIT_CODE=$?
|
|
[ "_$OUTPUT" = "_" ] || die "expected 'nvm_ensure_version_installed 0.1' to have no output, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed 0.1' to exit with 0, got $EXIT_CODE"
|
|
|
|
# Special case for "iojs"
|
|
OUTPUT="$(nvm_ensure_version_installed iojs 2>&1)"
|
|
EXIT_CODE=$?
|
|
EXPECTED_OUTPUT='N/A: version "iojs" is not yet installed.
|
|
|
|
You need to run "nvm install iojs" to install it before using it.'
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed iojs' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed iojs' to exit with 1, got $EXIT_CODE"
|
|
|
|
nvm_has_system_node() { return 1; }
|
|
nvm_has_system_iojs() { return 1; }
|
|
|
|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
|
|
EXIT_CODE=$?
|
|
EXPECTED_OUTPUT='N/A: no system version of node/io.js is installed.'
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to give $EXPECTED_OUTPUT, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to exit with 1, got $EXIT_CODE"
|
|
|
|
nvm_has_system_node() { return 0; }
|
|
nvm_has_system_iojs() { return 1; }
|
|
|
|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
|
|
EXIT_CODE=$?
|
|
EXPECTED_OUTPUT=''
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with node installed to give $EXPECTED_OUTPUT, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with node installed to exit with 0, got $EXIT_CODE"
|
|
|
|
nvm_has_system_node() { return 1; }
|
|
nvm_has_system_iojs() { return 0; }
|
|
|
|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
|
|
EXIT_CODE=$?
|
|
EXPECTED_OUTPUT=''
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to give $EXPECTED_OUTPUT, got $OUTPUT"
|
|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to exit with 0, got $EXIT_CODE"
|
|
|
|
cleanup
|