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.
84 lines
2.0 KiB
84 lines
2.0 KiB
#!/usr/bin/env bash |
|
|
|
. ../../nvm.sh |
|
|
|
TEST_NODE_VERSION="v0.10.29" |
|
|
|
TEST_COUNT=0 |
|
TEST_PASSED=0 |
|
TEST_FAILED=0 |
|
|
|
function registerExpectedSymlink() { |
|
registerResult ${1} |
|
} |
|
|
|
function registerExpectedNoSymlink() { |
|
[ ${1} -ne 0 ] |
|
registerResult $? |
|
} |
|
|
|
function registerResult() { |
|
result=${1} |
|
|
|
TEST_COUNT=$(($TEST_COUNT + 1)) |
|
|
|
[ ${result} -eq 0 ] \ |
|
&& TEST_PASSED=$(($TEST_PASSED + 1)) \ |
|
|| TEST_FAILED=$(($TEST_FAILED + 1)) |
|
} |
|
|
|
function cleanup() { |
|
rm -rf ../../${TEST_NODE_VERSION} |
|
rm -f ../../current |
|
} |
|
|
|
function runNvmUse() { |
|
mkdir ../../${TEST_NODE_VERSION} |
|
nvm use ${TEST_NODE_VERSION} > /dev/null 2>&1 |
|
rmdir ../../${TEST_NODE_VERSION} |
|
} |
|
|
|
function isCurrentSymlinkPresent() { |
|
[ -L ../../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 |
|
|
|
|