| #!/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 |