From 4da7f101a2d00521eba5fa69a4bd9394bf5c817b Mon Sep 17 00:00:00 2001 From: Rodrigo Espinosa de los Monteros <1084688+RodEsp@users.noreply.github.com> Date: Thu, 11 Mar 2021 16:22:31 -0500 Subject: [PATCH] [Fix] `nvm_alias`: ensure `lts/-1` returns the one before `lts/*` Fixes #2461 --- nvm.sh | 1 + test/fast/Unit tests/nvm_alias LTS-N | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nvm.sh b/nvm.sh index c2eb1d0..574b8f3 100644 --- a/nvm.sh +++ b/nvm.sh @@ -994,6 +994,7 @@ nvm_alias() { if [ "$(expr "${ALIAS}" : '^lts/-[1-9][0-9]*$')" -gt 0 ]; then local N N="$(echo "${ALIAS}" | cut -d '-' -f 2)" + N=$((N+1)) local RESULT RESULT="$(command ls "${NVM_ALIAS_DIR}/lts" | command tail -n "${N}" | command head -n 1)" if [ "${RESULT}" != '*' ]; then diff --git a/test/fast/Unit tests/nvm_alias LTS-N b/test/fast/Unit tests/nvm_alias LTS-N index 352644a..b110117 100755 --- a/test/fast/Unit tests/nvm_alias LTS-N +++ b/test/fast/Unit tests/nvm_alias LTS-N @@ -25,10 +25,12 @@ LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt" N=0 while IFS= read -r LTS; do + if [ $N -gt 0 ]; then + EXPECTED="$(nvm_alias "lts/${LTS}")" + ACTUAL="$(nvm_alias "lts/-${N}")" + [ "${EXPECTED}" = "${ACTUAL}" ] || die "\`nvm_alias lts/-${N}\` was \`${ACTUAL}\`; expected \`${EXPECTED}\`" + fi N=$(($N+1)) - EXPECTED="$(nvm_alias "lts/${LTS}")" - ACTUAL="$(nvm_alias "lts/-${N}")" - [ "${EXPECTED}" = "${ACTUAL}" ] || die "\`nvm_alias lts/-${N}\` was \`${ACTUAL}\`; expected \`${EXPECTED}\`" done < "${LTS_NAMES_PATH}" cleanup