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