blob: be6284d7e21ada819a7c6875a71dfe53227d911c [file] [log] [blame]
Jordan Harbandecbd7d42016-07-07 00:00:59 -07001#!/bin/sh
2
3set -ex
stelcheck9306a9b2014-08-29 14:57:30 +09004
Qiangjun Rancadbbce2016-11-04 13:15:18 +08005\. ../../nvm.sh
stelcheck9306a9b2014-08-29 14:57:30 +09006
7TEST_NODE_VERSION="v0.10.29"
8
9TEST_COUNT=0
10TEST_PASSED=0
11TEST_FAILED=0
12
Jordan Harbandecbd7d42016-07-07 00:00:59 -070013registerExpectedSymlink() {
stelcheck9306a9b2014-08-29 14:57:30 +090014 registerResult ${1}
15}
16
Jordan Harbandecbd7d42016-07-07 00:00:59 -070017registerExpectedNoSymlink() {
18 [ $1 -ne 0 ]
stelcheck9306a9b2014-08-29 14:57:30 +090019 registerResult $?
20}
21
Jordan Harbandecbd7d42016-07-07 00:00:59 -070022registerResult() {
23 result="${1}"
stelcheck9306a9b2014-08-29 14:57:30 +090024
25 TEST_COUNT=$(($TEST_COUNT + 1))
26
27 [ ${result} -eq 0 ] \
28 && TEST_PASSED=$(($TEST_PASSED + 1)) \
29 || TEST_FAILED=$(($TEST_FAILED + 1))
30}
31
Jordan Harbandecbd7d42016-07-07 00:00:59 -070032cleanup() {
33 rm -rf "${NVM_DIR}/${TEST_NODE_VERSION}"
34 rm -f "${NVM_DIR}/current"
stelcheck9306a9b2014-08-29 14:57:30 +090035}
36
Jordan Harbandecbd7d42016-07-07 00:00:59 -070037runNvmUse() {
38 mkdir "${NVM_DIR}/${TEST_NODE_VERSION}"
39 nvm use --delete-prefix "${TEST_NODE_VERSION}" > /dev/null 2>&1
40 rmdir "${NVM_DIR}/${TEST_NODE_VERSION}"
stelcheck9306a9b2014-08-29 14:57:30 +090041}
42
Jordan Harbandecbd7d42016-07-07 00:00:59 -070043isCurrentSymlinkPresent() {
44 [ -L "${NVM_DIR}/current" ]
stelcheck9306a9b2014-08-29 14:57:30 +090045}
46
47NVM_SYMLINK_CURRENT=false
48cleanup
49runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070050isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=false!"
stelcheck9306a9b2014-08-29 14:57:30 +090051registerExpectedNoSymlink $?
52
53NVM_SYMLINK_CURRENT=true
54cleanup
55runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070056isCurrentSymlinkPresent || echo >&2 "Expected 'current' symlink to be created when NVM_SYMLINK_CURRENT=true!"
stelcheck9306a9b2014-08-29 14:57:30 +090057registerExpectedSymlink $?
58
59NVM_SYMLINK_CURRENT=garbagevalue
60cleanup
61runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070062isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT contains a string!"
stelcheck9306a9b2014-08-29 14:57:30 +090063registerExpectedNoSymlink $?
64
65NVM_SYMLINK_CURRENT=0
66cleanup
67runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070068isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=0!"
stelcheck9306a9b2014-08-29 14:57:30 +090069registerExpectedNoSymlink $?
70
71NVM_SYMLINK_CURRENT=1
72cleanup
73runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070074isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT=1!"
stelcheck9306a9b2014-08-29 14:57:30 +090075registerExpectedNoSymlink $?
76
77unset NVM_SYMLINK_CURRENT
78cleanup
79runNvmUse
Jordan Harbandca89cce2014-10-14 17:38:42 -070080isCurrentSymlinkPresent && echo >&2 "Expected 'current' symlink not to be created when NVM_SYMLINK_CURRENT has been unset (default behaviour)!"
81registerExpectedNoSymlink $?
stelcheck9306a9b2014-08-29 14:57:30 +090082
83cleanup
84
Jordan Harbandecbd7d42016-07-07 00:00:59 -070085[ $TEST_FAILED -ne 0 ] && echo "${TEST_COUNT} tested, ${TEST_PASSED} passed, ${TEST_FAILED} failed" && exit 1 || true