You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.0 KiB
86 lines
2.0 KiB
#!/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
|
|
|