mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-11-03 22:47:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
cleanup () {
 | 
						|
  unset -f setup cleanup die
 | 
						|
  unset _PROFILE
 | 
						|
  rm -f .bashrc .bash_profile .zshrc .profile test_profile > /dev/null 2>&1
 | 
						|
}
 | 
						|
die () { echo $@ ; cleanup ; exit 1; }
 | 
						|
 | 
						|
NVM_ENV=testing . ../../install.sh
 | 
						|
 | 
						|
setup () {
 | 
						|
  touch .bashrc
 | 
						|
  touch .bash_profile
 | 
						|
  touch .zshrc
 | 
						|
  touch .profile
 | 
						|
  touch test_profile
 | 
						|
}
 | 
						|
 | 
						|
#Let's hack $HOME
 | 
						|
HOME="."
 | 
						|
 | 
						|
setup
 | 
						|
 | 
						|
 | 
						|
# $PROFILE points to a valid file, its path must be returned
 | 
						|
PROFILE="test_profile"
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" = "_$PROFILE" ] || die "nvm_detect_profile didn't pick \$PROFILE"
 | 
						|
 | 
						|
# $PROFILE doesn't point to a valid file, its path must not be returned
 | 
						|
PROFILE="invalid_profile"
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" != "_$PROFILE" ] || die "nvm_detect_profile shouldn't pick \$PROFILE when it's not a valid file"
 | 
						|
 | 
						|
 | 
						|
# Below are tests for when $PROFILE is undefined
 | 
						|
rm test_profile
 | 
						|
unset PROFILE
 | 
						|
 | 
						|
# It should favor .bashrc if file exists
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" = "_$HOME/.bashrc" ] || die "nvm_detect_profile should have selected .bashrc"
 | 
						|
 | 
						|
rm .bashrc
 | 
						|
# Otherwise, it should favor .bash_profile if file exists
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" = "_$HOME/.bash_profile" ] || die "nvm_detect_profile should have selected .bash_profile"
 | 
						|
 | 
						|
rm .bash_profile
 | 
						|
# Otherwise, it should favor .zshrc if file exists
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" = "_$HOME/.zshrc" ] || die "nvm_detect_profile should have selected .zshrc"
 | 
						|
 | 
						|
rm .zshrc
 | 
						|
# Otherwise, it should favor .profile if file exists
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ "_$_PROFILE" = "_$HOME/.profile" ] || die "nvm_detect_profile should have selected .profile"
 | 
						|
 | 
						|
rm .profile
 | 
						|
# It should be empty if none is found
 | 
						|
_PROFILE=$(nvm_detect_profile)
 | 
						|
[ -z "$_PROFILE" ] || die "nvm_detect_profile should have echo'ed an empty value"
 | 
						|
 | 
						|
 | 
						|
cleanup
 | 
						|
 |