mirror of
https://github.com/nvm-sh/nvm.git
synced 2026-05-07 06:06:28 +02:00
63 lines
1.6 KiB
Plaintext
63 lines
1.6 KiB
Plaintext
|
|
#!/bin/sh
|
||
|
|
|
||
|
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||
|
|
|
||
|
|
cleanup() {
|
||
|
|
unset -f install_nvm_from_git install_nvm_as_script nvm_detect_profile nvm_has
|
||
|
|
unset -f setup cleanup die
|
||
|
|
unset NVM_ENV METHOD PROFILE
|
||
|
|
}
|
||
|
|
|
||
|
|
setup() {
|
||
|
|
NVM_ENV=testing \. ../../install.sh
|
||
|
|
|
||
|
|
# Mock installation functions to do nothing
|
||
|
|
install_nvm_from_git() { :; }
|
||
|
|
install_nvm_as_script() { :; }
|
||
|
|
|
||
|
|
# Mock nvm_has to return true for git (to take the git path)
|
||
|
|
nvm_has() {
|
||
|
|
case "$1" in
|
||
|
|
git) return 0 ;;
|
||
|
|
xcode-select) return 1 ;;
|
||
|
|
*) return 1 ;;
|
||
|
|
esac
|
||
|
|
}
|
||
|
|
|
||
|
|
# Mock nvm_detect_profile to return empty (no profile found)
|
||
|
|
nvm_detect_profile() {
|
||
|
|
echo ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
setup
|
||
|
|
|
||
|
|
#
|
||
|
|
# Test: When PROFILE="/dev/null", no "Profile not found" warning should appear
|
||
|
|
#
|
||
|
|
|
||
|
|
OUTPUT="$(PROFILE='/dev/null' METHOD='' NVM_DIR="$(mktemp -d)" nvm_do_install 2>&1)"
|
||
|
|
if echo "$OUTPUT" | grep -q "Profile not found"; then
|
||
|
|
die "nvm_do_install should NOT show 'Profile not found' when PROFILE=/dev/null, got: $OUTPUT"
|
||
|
|
fi
|
||
|
|
|
||
|
|
#
|
||
|
|
# Test: When PROFILE is empty/unset, the "Profile not found" warning SHOULD appear
|
||
|
|
#
|
||
|
|
|
||
|
|
OUTPUT="$(PROFILE='' METHOD='' NVM_DIR="$(mktemp -d)" nvm_do_install 2>&1)"
|
||
|
|
if ! echo "$OUTPUT" | grep -q "Profile not found"; then
|
||
|
|
die "nvm_do_install should show 'Profile not found' when PROFILE is empty, got: $OUTPUT"
|
||
|
|
fi
|
||
|
|
|
||
|
|
#
|
||
|
|
# Test: When PROFILE points to a non-existent file, the "Profile not found" warning SHOULD appear
|
||
|
|
#
|
||
|
|
|
||
|
|
OUTPUT="$(PROFILE='/nonexistent/profile' METHOD='' NVM_DIR="$(mktemp -d)" nvm_do_install 2>&1)"
|
||
|
|
if ! echo "$OUTPUT" | grep -q "Profile not found"; then
|
||
|
|
die "nvm_do_install should show 'Profile not found' when PROFILE points to nonexistent file, got: $OUTPUT"
|
||
|
|
fi
|
||
|
|
|
||
|
|
cleanup
|