diff --git a/nvm.sh b/nvm.sh index 4553a85..3c87bdd 100644 --- a/nvm.sh +++ b/nvm.sh @@ -368,6 +368,13 @@ nvm_print_versions() { done } +nvm_validate_implicit_alias() { + if [ "_$1" != "_stable" ] && [ "_$1" != "_unstable" ]; then + echo "Only implicit aliases 'stable' and 'unstable' are supported." >&2 + return 1 + fi +} + nvm() { if [ $# -lt 1 ]; then nvm help diff --git a/test/fast/Unit tests/nvm_validate_implicit_alias b/test/fast/Unit tests/nvm_validate_implicit_alias new file mode 100755 index 0000000..ffc4247 --- /dev/null +++ b/test/fast/Unit tests/nvm_validate_implicit_alias @@ -0,0 +1,19 @@ +#!/bin/sh + +die () { echo $@ ; exit 1; } + +. ../../../nvm.sh + +EXPECTED_MSG="Only implicit aliases 'stable' and 'unstable' are supported." +[ "_$(nvm_validate_implicit_alias 2>&1)" = "_$EXPECTED_MSG" ] \ + || die "nvm_validate_implicit_alias did not require stable|unstable" +[ "_$(nvm_validate_implicit_alias foo 2>&1)" = "_$EXPECTED_MSG" ] \ + || die "nvm_validate_implicit_alias did not require stable|unstable" + +EXIT_CODE="$(nvm_validate_implicit_alias >/dev/null 2>&1 ; echo $?)" +[ "_$EXIT_CODE" = "_1" ] \ + || die "nvm_validate_implicit_alias without stable|unstable had wrong exit code: expected 1, got $EXIT_CODE" + +nvm_validate_implicit_alias stable || die "nvm_validate_implicit_alias stable did not exit 0" +nvm_validate_implicit_alias unstable || die "nvm_validate_implicit_alias unstable did not exit 0" +