mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-11-04 13:21:29 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
die () { echo "$@" ; cleanup ; exit 1; }
 | 
						|
cleanup () {
 | 
						|
  rm -rf "$(nvm_version_path v0.1.2)"
 | 
						|
  unset -f nvm_has_system_node nvm_has_system_iojs
 | 
						|
}
 | 
						|
 | 
						|
\. ../../../nvm.sh
 | 
						|
\. ../../common.sh
 | 
						|
 | 
						|
make_fake_node v0.1.2
 | 
						|
 | 
						|
OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
 | 
						|
 | 
						|
You need to run `nvm install foo` to install and use it.'
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
 | 
						|
 | 
						|
# Case when .nvmrc file is opened, we should be skip showing the version
 | 
						|
OUTPUT="$(nvm_ensure_version_installed foo 1 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
 | 
						|
 | 
						|
You need to run `nvm install` to install and use the node version specified in `.nvmrc`.'
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
 | 
						|
 | 
						|
OUTPUT="$(nvm_ensure_version_installed 0.1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
[ "_$OUTPUT" = "_" ] || die "expected 'nvm_ensure_version_installed 0.1' to have no output, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed 0.1' to exit with 0, got $EXIT_CODE"
 | 
						|
 | 
						|
# Special case for "iojs"
 | 
						|
OUTPUT="$(nvm_ensure_version_installed iojs 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT='N/A: version "iojs" is not yet installed.
 | 
						|
 | 
						|
You need to run `nvm install iojs` to install and use it.'
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed iojs' to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed iojs' to exit with 1, got $EXIT_CODE"
 | 
						|
 | 
						|
nvm_has_system_node() { return 1; }
 | 
						|
nvm_has_system_iojs() { return 1; }
 | 
						|
 | 
						|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT='N/A: no system version of node/io.js is installed.'
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to exit with 1, got $EXIT_CODE"
 | 
						|
 | 
						|
nvm_has_system_node() { return 0; }
 | 
						|
nvm_has_system_iojs() { return 1; }
 | 
						|
 | 
						|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT=''
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with node installed to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with node installed to exit with 0, got $EXIT_CODE"
 | 
						|
 | 
						|
nvm_has_system_node() { return 1; }
 | 
						|
nvm_has_system_iojs() { return 0; }
 | 
						|
 | 
						|
OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
 | 
						|
EXIT_CODE=$?
 | 
						|
EXPECTED_OUTPUT=''
 | 
						|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to give $EXPECTED_OUTPUT, got $OUTPUT"
 | 
						|
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to exit with 0, got $EXIT_CODE"
 | 
						|
 | 
						|
cleanup
 |