mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-09-11 17:19:05 +00:00
[Refactor] extract “get default packages” logic to nvm_get_default_packages
This commit is contained in:
115
test/installation_node/default-packages
Executable file
115
test/installation_node/default-packages
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/bin/sh
|
||||
|
||||
FILE="$NVM_DIR/default-packages"
|
||||
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
setup () {
|
||||
if [ -f $FILE ]; then
|
||||
ORIG_DEFAULT_PACKAGES=$(cat $FILE)
|
||||
mkdir ./tmp/ ||:
|
||||
mv $FILE ./tmp/default-packages ||:
|
||||
fi
|
||||
touch $FILE
|
||||
}
|
||||
cleanup () {
|
||||
rm -rf "$(nvm_version_path v6.10.1)" $FILE
|
||||
if [ "$ORIG_DEFAULT_PACKAGES" != "" ]; then
|
||||
rm -rf ./tmp/
|
||||
echo "$ORIG_DEFAULT_PACKAGES" > $FILE
|
||||
fi
|
||||
}
|
||||
|
||||
setup
|
||||
|
||||
\. ../../nvm.sh
|
||||
|
||||
cat > $FILE << EOF
|
||||
rimraf
|
||||
object-inspect@1.0.2
|
||||
|
||||
# commented-package
|
||||
|
||||
stevemao/left-pad
|
||||
EOF
|
||||
|
||||
nvm install v6.10.1 2>&1
|
||||
EXIT_CODE=$?
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
|
||||
|
||||
nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'
|
||||
if [ -z "$?" ]; then
|
||||
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to exit with 0, got $?"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
setup
|
||||
|
||||
\. ../../nvm.sh
|
||||
|
||||
cat > $FILE << EOF
|
||||
rimraf
|
||||
object-inspect@1.0.2
|
||||
|
||||
# commented-package
|
||||
|
||||
stevemao/left-pad
|
||||
EOF
|
||||
|
||||
nvm install v6.10.1 --skip-default-packages 2>&1
|
||||
EXIT_CODE=$?
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
|
||||
|
||||
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'; then
|
||||
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to be empty"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
setup
|
||||
|
||||
cat > $FILE << EOF
|
||||
not~a~package~name
|
||||
EOF
|
||||
|
||||
nvm install v6.10.1
|
||||
EXIT_CODE=$?
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
|
||||
|
||||
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'; then
|
||||
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'' to exit with 1, got $?"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
setup
|
||||
|
||||
cat > $FILE << EOF
|
||||
object-inspect @ 1.0.2
|
||||
EOF
|
||||
|
||||
nvm install v6.10.1 2>&1
|
||||
EXIT_CODE=$?
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm install v6.10.1' to exit with 1, got $EXIT_CODE"
|
||||
|
||||
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
|
||||
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
setup
|
||||
|
||||
rm -rf $FILE
|
||||
|
||||
nvm install v6.10.1 2>&1
|
||||
EXIT_CODE=$?
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
|
||||
|
||||
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
|
||||
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
|
||||
fi
|
||||
|
||||
touch $FILE
|
||||
|
||||
cleanup
|
Reference in New Issue
Block a user