mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-11-04 05:01:23 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
cleanup () {
 | 
						|
  unset -f die cleanup
 | 
						|
  unset NVM_SOURCE out
 | 
						|
}
 | 
						|
die () { echo "$@" ; cleanup ; exit 1; }
 | 
						|
 | 
						|
NVM_ENV=testing \. ../../install.sh
 | 
						|
 | 
						|
# nvm_source with no parameter returns the git endpoint
 | 
						|
echo $(nvm_source) | grep "nvm.git$" > /dev/null || die "nvm_source without arguments should return the location of the git repo"
 | 
						|
 | 
						|
# nvm_source with git parameter returns the location of the nvm repo
 | 
						|
echo $(nvm_source "git") | grep "nvm.git$" > /dev/null || die "nvm_source without arguments should return the location of the git repo"
 | 
						|
 | 
						|
# nvm_source with script parameter returns the location of nvm.sh
 | 
						|
echo $(nvm_source "script") | grep "nvm.sh$" > /dev/null || die "nvm_source \"script\" should return the location of nvm.sh"
 | 
						|
 | 
						|
# nvm_source with script-nvm-exec parameter returns the location of nvm-exec
 | 
						|
echo $(nvm_source "script-nvm-exec") | grep "nvm-exec$" > /dev/null || die "nvm_source \"script-nvm-exec\" should return the location of nvm.sh"
 | 
						|
 | 
						|
# nvm_source with any other parameter errors out and exits
 | 
						|
nvm_source "anything" 2> /dev/null && die "nvm_source with invalid parameter should exit"
 | 
						|
out=$(nvm_source "anything" 2>&1 >/dev/null) || : #Saving the process here
 | 
						|
[ -z "$out" ] && die "nvm_source with invalid parameter should error out"
 | 
						|
 | 
						|
#nvm_source should always return NVM_SOURCE no matter the parameters
 | 
						|
NVM_SOURCE="my_location"
 | 
						|
out=$(nvm_source)
 | 
						|
[ "_$out" = "_my_location" ] || die "nvm_source without arguments should have returned \$NVM_SOURCE. Got \"$out\""
 | 
						|
out=$(nvm_source "git")
 | 
						|
[ "_$out" = "_my_location" ] || die "nvm_source git should have returned \$NVM_SOURCE. Got \"$out\""
 | 
						|
out=$(nvm_source "script")
 | 
						|
[ "_$out" = "_my_location" ] || die "nvm_source script should have returned \$NVM_SOURCE. Got \"$out\""
 | 
						|
out=$(nvm_source "anything")
 | 
						|
[ "_$out" = "_my_location" ] || die "nvm_source script should have returned \$NVM_SOURCE. Got \"$out\""
 | 
						|
 | 
						|
cleanup
 |