mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -ex
 | |
| 
 | |
| \. ../../nvm.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() {
 | |
|   mkdir "${NVM_DIR}/${TEST_NODE_VERSION}"
 | |
|   nvm use --delete-prefix "${TEST_NODE_VERSION}" > /dev/null 2>&1
 | |
|   rmdir "${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
 |