93 lines
1.9 KiB
Bash
Executable File
93 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
\. ../../../nvm.sh
|
|
|
|
FILE="$NVM_DIR/default-packages"
|
|
|
|
die () { echo "$@" ; cleanup ; exit 1; }
|
|
setup () {
|
|
if [ -f $FILE ]; then
|
|
ORIG_DEFAULT_PACKAGES=$(cat $FILE)
|
|
mkdir -p ./tmp/ ||:
|
|
mv $FILE ./tmp/default-packages ||:
|
|
fi
|
|
touch $FILE
|
|
}
|
|
cleanup () {
|
|
if [ "$ORIG_DEFAULT_PACKAGES" != "" ]; then
|
|
rm -rf ./tmp/
|
|
echo "$ORIG_DEFAULT_PACKAGES" > $FILE
|
|
fi
|
|
}
|
|
|
|
setup
|
|
|
|
cat > $FILE << EOF
|
|
rimraf
|
|
object-inspect@1.0.2
|
|
|
|
# commented-package
|
|
|
|
stevemao/left-pad
|
|
EOF
|
|
|
|
DEFAULT_PKGS="$(nvm_get_default_packages)"
|
|
EXPECTED_PKGS='rimraf object-inspect@1.0.2 stevemao/left-pad'
|
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "1: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
|
|
|
cleanup
|
|
|
|
setup
|
|
|
|
cat > $FILE << EOF
|
|
rimraf
|
|
not~a~package~name
|
|
mkdirp
|
|
EOF
|
|
|
|
DEFAULT_PKGS="$(nvm_get_default_packages)"
|
|
EXPECTED_PKGS='rimraf not~a~package~name mkdirp'
|
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "2: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
|
|
|
cleanup
|
|
|
|
setup
|
|
|
|
cat > $FILE << EOF
|
|
rimraf
|
|
not~a~package~name
|
|
mkdirp
|
|
EOF
|
|
printf %s "$(cat "${FILE}")" > $FILE # strip trailing newline
|
|
|
|
DEFAULT_PKGS="$(nvm_get_default_packages)"
|
|
EXPECTED_PKGS='rimraf not~a~package~name mkdirp'
|
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "3: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
|
|
|
cleanup
|
|
|
|
setup
|
|
|
|
cat > $FILE << EOF
|
|
object-inspect @ 1.0.2
|
|
rimraf
|
|
EOF
|
|
|
|
DEFAULT_PKGS="$(nvm_get_default_packages 2>&1 >/dev/null)"
|
|
EXPECTED_PKGS="Only one package per line is allowed in the $FILE file. Please remove any lines with multiple space-separated values."
|
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "4: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
|
|
|
cleanup
|
|
|
|
setup
|
|
|
|
rm -rf $FILE
|
|
|
|
DEFAULT_PKGS="$(nvm_get_default_packages)"
|
|
EXPECTED_PKGS=''
|
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "5: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
|
|
|
touch $FILE
|
|
|
|
cleanup
|