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.
92 lines
1.9 KiB
92 lines
1.9 KiB
#!/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
|
|
|