Add support for nvm use node, nvm use iojs, nvm ls node, and nvm ls iojs

Also add `nvm_version node` and `nvm_version iojs` support.
This commit is contained in:
Jordan Harband
2015-01-18 20:45:02 -06:00
parent 3cf68dc18d
commit 39a75e616d
7 changed files with 166 additions and 18 deletions

View File

@@ -0,0 +1,47 @@
#!/bin/sh
die () { echo $@ ; cleanup ; exit 1; }
cleanup () {
unset -f nvm_ls_current nvm_ls
}
. ../../../nvm.sh
nvm_ls_current() {
echo "CURRENT!"
return 7
}
OUTPUT="$(nvm_version current)"
EXPECTED_OUTPUT="CURRENT!"
EXIT_CODE="$(nvm_version current 2>&1 >/dev/null ; echo $?)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version current" did not return nvm_ls_current output'
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version current" did not return nvm_ls_current exit code'
OUTPUT="$(nvm_version)"
EXPECTED_OUTPUT="CURRENT!"
EXIT_CODE="$(nvm_version 2>&1 >/dev/null ; echo $?)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return nvm_ls_current output'
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version" did not return nvm_ls_current exit code'
nvm_ls() {
echo "line 1"
echo "line 2"
echo "pattern: $1"
}
[ "_$(nvm_version foo)" = "_pattern: foo" ] || die '"nvm_version foo" did not pass the pattern to "nvm_ls", or return the last line'
nvm_ls() { echo "N/A"; }
OUTPUT="$(nvm_version foo)"
EXPECTED_OUTPUT="N/A"
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns N/A'
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
nvm_ls() { echo; }
OUTPUT="$(nvm_version foo)"
EXPECTED_OUTPUT="N/A"
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns nothing'
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'

View File

@@ -0,0 +1,14 @@
#!/bin/sh
die () { echo $@ ; exit 1; }
. ../../../nvm.sh
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
nvm use iojs || die 'nvm use iojs failed'
OUTPUT="$(nvm current)"
EXPECTED_OUTPUT="iojs-v1.0.1"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|| die "'nvm use iojs' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"

View File

@@ -0,0 +1,14 @@
#!/bin/sh
die () { echo $@ ; exit 1; }
. ../../../nvm.sh
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
nvm use node || die 'nvm use node failed'
OUTPUT="$(nvm current)"
EXPECTED_OUTPUT="$(nvm_version stable)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|| die "'nvm use node' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"

16
test/slow/nvm use/setup_dir Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
. ../../../nvm.sh
mkdir -p ../../../.nvm_use_bak
if [ -d "../../../v*" ]; then
mv "../../../v*" ../../../.nvm_use_bak/
fi
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
nvm install "v$VERSION"
done
for VERSION in "1.0.0" "1.0.1"; do
nvm install "iojs-v$VERSION"
done

16
test/slow/nvm use/teardown_dir Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
. ../../../nvm.sh
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
nvm uninstall "$VERSION"
done
for VERSION in "1.0.0" "1.0.1"; do
nvm uninstall "iojs-v$VERSION"
done
if [ -d ../../../.nvm_use_bak/* ]; then
mv ../../../.nvm_use_bak/* ../../../
fi
rmdir ../../../.nvm_use_bak