74 lines
2.3 KiB
Bash
Executable File
74 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
die () { echo "$@" ; cleanup ; exit 1; }
|
|
|
|
cleanup() {
|
|
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
|
|
if [ -n TEMP_NVM_COLORS ]; then
|
|
export NVM_COLORS=TEMP_NVM_COLORS
|
|
fi
|
|
unset TEMP_NVM_COLORS
|
|
}
|
|
|
|
\. ../../../nvm.sh
|
|
if [ -n ${NVM_COLORS} ]; then
|
|
export TEMP_NVM_COLORS=NVM_COLORS
|
|
unset NVM_COLORS
|
|
fi
|
|
|
|
nvm deactivate 2>/dev/null || die 'unable to deactivate'
|
|
|
|
\. ../../common.sh
|
|
|
|
MOCKS_DIR="$PWD/mocks"
|
|
|
|
nvm_download() {
|
|
if [ "$*" = "-L -s $(nvm_get_mirror node std)/index.tab -o -" ]; then
|
|
cat "$MOCKS_DIR/nodejs.org-dist-index.tab"
|
|
return
|
|
fi
|
|
return 42
|
|
}
|
|
|
|
EXPECTED_OUTPUT_PATH="${MOCKS_DIR}/nvm ls-remote lts.txt"
|
|
OUTPUT="$(nvm ls-remote --lts | sed 's/[ \t]*$//')"
|
|
EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH" | sed 's/[ \t]*$//' )"
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm ls-remote --lts did not output expected sorted versions; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")"
|
|
|
|
EXPECTED_OUTPUT_PATH="${MOCKS_DIR}/nvm ls-remote lts.txt"
|
|
OUTPUT="$(nvm ls-remote "lts/*" | sed 's/[ \t]*$//')"
|
|
EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH" | sed 's/[ \t]*$//' )"
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm ls-remote lts/* did not output expected sorted versions; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")"
|
|
|
|
MOCKS_DIR="$PWD/mocks"
|
|
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
|
|
LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)"
|
|
|
|
INDEX=1
|
|
printf '%s\n' "${LTS_LIST}" | while IFS= read -r LTS; do
|
|
ACTUAL="$(nvm ls-remote "lts/-${INDEX}" | sed 's/[ \t]*$//')"
|
|
MESSAGE="for lts/-${INDEX} (${LTS})"
|
|
EXPECTED="$(nvm ls-remote "lts/${LTS}" | sed 's/[ \t]*$//')"
|
|
[ "${ACTUAL}" = "${EXPECTED}" ] || die "${MESSAGE}: expected >${EXPECTED}<, got >${ACTUAL}<"
|
|
|
|
INDEX=$(($INDEX + 1))
|
|
done
|
|
|
|
REMOTE="$PWD/mocks/nvm_ls_remote.txt"
|
|
nvm_ls_remote() {
|
|
cat "$REMOTE"
|
|
}
|
|
REMOTE_IOJS="$PWD/mocks/nvm_ls_remote_iojs.txt"
|
|
nvm_ls_remote_iojs() {
|
|
cat "$REMOTE_IOJS"
|
|
}
|
|
|
|
EXPECTED_OUTPUT_PATH="${MOCKS_DIR}/nvm ls-remote.txt"
|
|
OUTPUT="$(nvm ls-remote | sed 's/[ \t]*$//')"
|
|
EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH" | sed 's/[ \t]*$//' )"
|
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm ls-remote did not output expected sorted versions; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")"
|
|
|
|
cleanup
|