mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-11-04 05:01:23 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -ex
 | 
						|
 | 
						|
\. ../../nvm.sh
 | 
						|
\. ../common.sh
 | 
						|
 | 
						|
TEST_NODE_VERSION="v0.10.29"
 | 
						|
 | 
						|
TEST_COUNT=0
 | 
						|
TEST_PASSED=0
 | 
						|
TEST_FAILED=0
 | 
						|
 | 
						|
registerExpectedSymlink() {
 | 
						|
  registerResult ${1}
 | 
						|
}
 | 
						|
 | 
						|
registerExpectedNoSymlink() {
 | 
						|
  [ $1 -ne 0 ]
 | 
						|
  registerResult $?
 | 
						|
}
 | 
						|
 | 
						|
registerResult() {
 | 
						|
  result="${1}"
 | 
						|
 | 
						|
  TEST_COUNT=$(($TEST_COUNT + 1))
 | 
						|
 | 
						|
  [ ${result} -eq 0 ] \
 | 
						|
    && TEST_PASSED=$(($TEST_PASSED + 1)) \
 | 
						|
    || TEST_FAILED=$(($TEST_FAILED + 1))
 | 
						|
}
 | 
						|
 | 
						|
cleanup() {
 | 
						|
  rm -rf "${NVM_DIR}/${TEST_NODE_VERSION}"
 | 
						|
  rm -f "${NVM_DIR}/current"
 | 
						|
}
 | 
						|
 | 
						|
runNvmUse() {
 | 
						|
  make_fake_node "$TEST_NODE_VERSION"
 | 
						|
  nvm use --delete-prefix "${TEST_NODE_VERSION}" > /dev/null 2>&1
 | 
						|
  rm -rf "${NVM_DIR}/${TEST_NODE_VERSION}"
 | 
						|
}
 | 
						|
 | 
						|
isCurrentSymlinkPresent() {
 | 
						|
  [ -L "${NVM_DIR}/current" ]
 | 
						|
}
 | 
						|
 | 
						|
NVM_SYMLINK_CURRENT=false
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=false!"
 | 
						|
registerExpectedNoSymlink $?
 | 
						|
 | 
						|
NVM_SYMLINK_CURRENT=true
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent || echo >&2 "Expected 'current' symlink to be created when NVM_SYMLINK_CURRENT=true!"
 | 
						|
registerExpectedSymlink $?
 | 
						|
 | 
						|
NVM_SYMLINK_CURRENT=garbagevalue
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT contains a string!"
 | 
						|
registerExpectedNoSymlink $?
 | 
						|
 | 
						|
NVM_SYMLINK_CURRENT=0
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=0!"
 | 
						|
registerExpectedNoSymlink $?
 | 
						|
 | 
						|
NVM_SYMLINK_CURRENT=1
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=1!"
 | 
						|
registerExpectedNoSymlink $?
 | 
						|
 | 
						|
unset NVM_SYMLINK_CURRENT
 | 
						|
cleanup
 | 
						|
runNvmUse
 | 
						|
isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT has been unset (default behaviour)!"
 | 
						|
registerExpectedNoSymlink $?
 | 
						|
 | 
						|
cleanup
 | 
						|
 | 
						|
[ $TEST_FAILED -ne 0 ] && echo "${TEST_COUNT} tested, ${TEST_PASSED} passed, ${TEST_FAILED} failed" && exit 1 || true
 |