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.
62 lines
2.7 KiB
62 lines
2.7 KiB
#!/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
|
|
|