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.
123 lines
2.6 KiB
123 lines
2.6 KiB
#!/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 |
|
daytime |
|
EOF |
|
|
|
printf %s "$(cat "${FILE}")" > $FILE # strip trailing newline |
|
|
|
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 |
|
|
|
nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'daytime' |
|
if [ -z "$?" ]; then |
|
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'daytime'' 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
|
|
|