From 379de64d9abde0449f5263f8425ff1129f6b37e0 Mon Sep 17 00:00:00 2001 From: menaechmi Date: Wed, 6 Nov 2024 21:03:28 -0600 Subject: [PATCH] [tests] add ZDOTDIR tests --- test/install_script/nvm_detect_profile | 33 ++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/test/install_script/nvm_detect_profile b/test/install_script/nvm_detect_profile index e9d310defc5..14345746699 100755 --- a/test/install_script/nvm_detect_profile +++ b/test/install_script/nvm_detect_profile @@ -3,12 +3,16 @@ setup () { HOME="." NVM_ENV=testing \. ../../install.sh + ZDOTDIR="$HOME/zdotdir" + mkdir -p zdotdir touch ".bashrc" touch ".bash_profile" touch ".zprofile" touch ".zshrc" touch ".profile" touch "test_profile" + touch "zdotdir/.zshrc" + touch "zdotdir/.zprofile" } cleanup () { @@ -17,7 +21,9 @@ cleanup () { unset NVM_DETECT_PROFILE unset SHELL unset -f setup cleanup die + unset ZDOTDIR rm -f ".bashrc" ".bash_profile" ".zprofile" ".zshrc" ".profile" "test_profile" > "/dev/null" 2>&1 + rm -rf zdot>&1 } die () { echo "$@" '$NVM_DETECT_PROFILE:' "$NVM_DETECT_PROFILE"; cleanup; exit 1; } @@ -46,8 +52,14 @@ if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then die "nvm_detect_profile ignored \$PROFILE" fi -# .zshrc should be detected for zsh +# zdotdir/.zshrc should be detected for zsh NVM_DETECT_PROFILE="$(SHELL="/bin/zsh"; unset PROFILE; nvm_detect_profile)" +if [ "$NVM_DETECT_PROFILE" != "$ZDOTDIR/.zshrc" ]; then + die "nvm_detect_profile didn't pick \$ZDOTDIR/.zshrc for zsh" +fi + +# .zshrc should be detected for zsh +NVM_DETECT_PROFILE="$(SHELL="/bin/zsh"; unset PROFILE; unset ZDOTDIR; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then die "nvm_detect_profile didn't pick \$HOME/.zshrc for zsh" fi @@ -58,7 +70,6 @@ if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then die "nvm_detect_profile ignored \$PROFILE" fi - # # Confirm $PROFILE is only returned when it points to a valid file # @@ -102,16 +113,30 @@ if [ "$NVM_DETECT_PROFILE" != "$HOME/.bash_profile" ]; then die "nvm_detect_profile should have selected .bash_profile" fi -# Otherwise, it should favor .zprofile if file exists +# Otherwise, it should favor zdotdir/.zprofile if file exists rm ".bash_profile" NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" +if [ "$NVM_DETECT_PROFILE" != "$ZDOTDIR/.zprofile" ]; then + die "nvm_detect_profile should have selected zdotdir/.zprofile" +fi + +# Otherwise, it should favor .zprofile if file exists +rm "zdotdir/.zprofile" +NVM_DETECT_PROFILE="$(unset SHELL; unset ZDOTDIR; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.zprofile" ]; then die "nvm_detect_profile should have selected .zprofile" fi -# Otherwise, it should favor .zshrc if file exists +# Otherwise, it should favor zdotdir/.zshrc if file exists rm ".zprofile" NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" +if [ "$NVM_DETECT_PROFILE" != "$ZDOTDIR/.zshrc" ]; then + die "nvm_detect_profile should have selected zdotdir/.zshrc" +fi + +# Otherwise, it should favor .zshrc if file exists +rm "zdotdir/.zshrc" +NVM_DETECT_PROFILE="$(unset SHELL; unset ZDOTDIR; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then die "nvm_detect_profile should have selected .zshrc" fi