mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-26 04:10:36 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| die () { echo "$@" ; cleanup ; exit 1; }
 | |
| cleanup () {
 | |
|   unset -f nvm_ls_current nvm_ls
 | |
| }
 | |
| 
 | |
| \. ../../../nvm.sh
 | |
| 
 | |
| nvm_ls_current() {
 | |
|   echo "CURRENT!"
 | |
|   return 7
 | |
| }
 | |
| 
 | |
| OUTPUT="$(nvm_version current)"
 | |
| EXPECTED_OUTPUT="CURRENT!"
 | |
| EXIT_CODE="$(nvm_version current 2>&1 >/dev/null ; echo $?)"
 | |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version current" did not return nvm_ls_current output'
 | |
| [ "_$EXIT_CODE" = "_7" ] || die '"nvm_version current" did not return nvm_ls_current exit code'
 | |
| 
 | |
| OUTPUT="$(nvm_version)"
 | |
| EXPECTED_OUTPUT="CURRENT!"
 | |
| EXIT_CODE="$(nvm_version 2>&1 >/dev/null ; echo $?)"
 | |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return nvm_ls_current output'
 | |
| [ "_$EXIT_CODE" = "_7" ] || die '"nvm_version" did not return nvm_ls_current exit code'
 | |
| 
 | |
| nvm_ls() {
 | |
|   echo "line 1"
 | |
|   echo "line 2"
 | |
|   echo "pattern: $1"
 | |
| }
 | |
| [ "_$(nvm_version foo)" = "_pattern: foo" ] || die '"nvm_version foo" did not pass the pattern to "nvm_ls", or return the last line'
 | |
| [ "_$(nvm_version node)" = "_pattern: stable" ] || die '"nvm_version node" did not pass "stable" to "nvm_ls"'
 | |
| [ "_$(nvm_version node-)" = "_pattern: stable" ] || die '"nvm_version node-" did not pass "stable" to "nvm_ls"'
 | |
| 
 | |
| nvm_ls() { echo "N/A"; }
 | |
| OUTPUT="$(nvm_version foo)"
 | |
| EXPECTED_OUTPUT="N/A"
 | |
| EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
 | |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns N/A'
 | |
| [ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
 | |
| 
 | |
| nvm_ls() { echo; }
 | |
| OUTPUT="$(nvm_version foo)"
 | |
| EXPECTED_OUTPUT="N/A"
 | |
| EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
 | |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns nothing'
 | |
| [ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
 |