Skip to content

Commit 35212c1

Browse files
committed
[Fix] nvm_has_colors: also check if stdout is a terminal
1 parent d2f93c1 commit 35212c1

17 files changed

+94
-39
lines changed

nvm.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ nvm_has_colors() {
8383
if nvm_has tput; then
8484
NVM_NUM_COLORS="$(command tput -T "${TERM:-vt100}" colors)"
8585
fi
86-
[ "${NVM_NUM_COLORS:--1}" -ge 8 ] && [ "${NVM_NO_COLORS-}" != '--no-colors' ]
86+
[ -t 1 ] && [ "${NVM_NUM_COLORS:--1}" -ge 8 ] && [ "${NVM_NO_COLORS-}" != '--no-colors' ]
8787
}
8888

8989
nvm_curl_libz_support() {

test/fast/Aliases/Running 'nvm alias ˂aliasname˃ ˂target˃' again should change the target

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ fi
1515
nvm alias test-stable-1 0.0.2 || die '`nvm alias test-stable-1 0.0.2` failed'
1616

1717
OUTPUT="$(nvm alias test-stable-1 | strip_colors)"
18-
EXPECTED_OUTPUT='test-stable-1 -> 0.0.2 (-> v0.0.2)'
18+
EXPECTED_OUTPUT='test-stable-1 -> 0.0.2 (-> v0.0.2 *)'
1919
echo "$OUTPUT" | \grep -F "$EXPECTED_OUTPUT" || die "nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2: got '$OUTPUT'"
2020

2121
nvm alias test-stable-1 0.0.1 || die '`nvm alias test-stable-1 0.0.1` failed'
2222

2323
OUTPUT="$(nvm alias test-stable-1 | strip_colors)"
24-
EXPECTED_OUTPUT='test-stable-1 -> 0.0.1 (-> v0.0.1)'
24+
EXPECTED_OUTPUT='test-stable-1 -> 0.0.1 (-> v0.0.1 *)'
2525
echo "$OUTPUT" | \grep -F "$EXPECTED_OUTPUT" || die "nvm alias test-stable-1 0.0.1 did not set test-stable-1 to 0.0.1: got '$OUTPUT'"

test/fast/Aliases/Running 'nvm alias' lists implicit aliases when they do not exist

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
1010

1111
EXPECTED_STABLE="$(nvm_print_implicit_alias local stable)"
1212
STABLE_VERSION="$(nvm_version "$EXPECTED_STABLE")"
13-
echo "$NVM_ALIAS_OUTPUT" | \grep -F "stable -> $EXPECTED_STABLE (-> $STABLE_VERSION) (default)" \
13+
echo "$NVM_ALIAS_OUTPUT" | \grep -F "stable -> $EXPECTED_STABLE (-> $STABLE_VERSION *) (default)" \
1414
|| die "nvm alias did not contain the default local stable node version; got '$NVM_ALIAS_OUTPUT'"
1515

16-
echo "$NVM_ALIAS_OUTPUT" | \grep -F "node -> stable (-> $STABLE_VERSION) (default)" \
16+
echo "$NVM_ALIAS_OUTPUT" | \grep -F "node -> stable (-> $STABLE_VERSION *) (default)" \
1717
|| die "nvm alias did not contain the default local stable node version under 'node'; got '$NVM_ALIAS_OUTPUT'"
1818

1919
EXPECTED_UNSTABLE="$(nvm_print_implicit_alias local unstable)"
2020
UNSTABLE_VERSION="$(nvm_version "$EXPECTED_UNSTABLE")"
21-
echo "$NVM_ALIAS_OUTPUT" | \grep -F "unstable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION) (default)" \
21+
echo "$NVM_ALIAS_OUTPUT" | \grep -F "unstable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION *) (default)" \
2222
|| die "nvm alias did not contain the default local unstable node version; got '$NVM_ALIAS_OUTPUT'"
2323

2424
EXPECTED_IOJS="$(nvm_print_implicit_alias local iojs)"
2525
IOJS_VERSION="$(nvm_version "$EXPECTED_IOJS")"
26-
echo "$NVM_ALIAS_OUTPUT" | \grep -F "iojs -> $EXPECTED_IOJS (-> $IOJS_VERSION) (default)" \
26+
echo "$NVM_ALIAS_OUTPUT" | \grep -F "iojs -> $EXPECTED_IOJS (-> $IOJS_VERSION *) (default)" \
2727
|| die "nvm alias did not contain the default local iojs version; got '$NVM_ALIAS_OUTPUT'"

test/fast/Aliases/Running 'nvm alias' lists manual aliases instead of implicit aliases when present

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ nvm alias iojs unstable
3535

3636
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
3737

38-
echo "$NVM_ALIAS_OUTPUT" | command grep -F "stable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION)" \
38+
echo "$NVM_ALIAS_OUTPUT" | command grep -F "stable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION *)" \
3939
|| die "nvm alias did not contain the overridden 'stable' alias; got '$NVM_ALIAS_OUTPUT'"
4040

41-
echo "$NVM_ALIAS_OUTPUT" | command grep -F "unstable -> $EXPECTED_STABLE (-> $STABLE_VERSION)" \
41+
echo "$NVM_ALIAS_OUTPUT" | command grep -F "unstable -> $EXPECTED_STABLE (-> $STABLE_VERSION *)" \
4242
|| die "nvm alias did not contain the overridden 'unstable' alias; got '$NVM_ALIAS_OUTPUT'"
4343

44-
echo "$NVM_ALIAS_OUTPUT" | command grep -F "node -> stable (-> $UNSTABLE_VERSION)" \
44+
echo "$NVM_ALIAS_OUTPUT" | command grep -F "node -> stable (-> $UNSTABLE_VERSION *)" \
4545
|| die "nvm alias did not contain the overridden 'node' alias; got '$NVM_ALIAS_OUTPUT'"
4646

47-
echo "$NVM_ALIAS_OUTPUT" | command grep -F "iojs -> unstable (-> $STABLE_VERSION)" \
47+
echo "$NVM_ALIAS_OUTPUT" | command grep -F "iojs -> unstable (-> $STABLE_VERSION *)" \
4848
|| die "nvm alias did not contain the overridden 'iojs' alias; got '$NVM_ALIAS_OUTPUT'"
4949

5050
cleanup

test/fast/Aliases/Running 'nvm alias' should list all aliases

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,43 @@
77
die () { echo "$@" ; exit 1; }
88

99
NVM_ALIAS_OUTPUT="$(nvm alias | strip_colors)"
10-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1)' \
10+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1 *)' \
1111
|| die "did not find test-stable-1 alias; got '$NVM_ALIAS_OUTPUT'"
12-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-2 -> 0.0.2 (-> v0.0.2)' \
12+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-2 -> 0.0.2 (-> v0.0.2 *)' \
1313
|| die "did not find test-stable-2 alias; got '$NVM_ALIAS_OUTPUT'"
14-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-3 -> 0.0.3 (-> v0.0.3)' \
14+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-3 -> 0.0.3 (-> v0.0.3 *)' \
1515
|| die "did not find test-stable-3 alias; got '$NVM_ALIAS_OUTPUT'"
16-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-4 -> 0.0.4 (-> v0.0.4)' \
16+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-4 -> 0.0.4 (-> v0.0.4 *)' \
1717
|| die "did not find test-stable-4 alias; got '$NVM_ALIAS_OUTPUT'"
18-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-5 -> 0.0.5 (-> v0.0.5)' \
18+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-5 -> 0.0.5 (-> v0.0.5 *)' \
1919
|| die "did not find test-stable-5 alias; got '$NVM_ALIAS_OUTPUT'"
20-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-6 -> 0.0.6 (-> v0.0.6)' \
20+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-6 -> 0.0.6 (-> v0.0.6 *)' \
2121
|| die "did not find test-stable-6 alias; got '$NVM_ALIAS_OUTPUT'"
22-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-7 -> 0.0.7 (-> v0.0.7)' \
22+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-7 -> 0.0.7 (-> v0.0.7 *)' \
2323
|| die "did not find test-stable-7 alias; got '$NVM_ALIAS_OUTPUT'"
24-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-8 -> 0.0.8 (-> v0.0.8)' \
24+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-8 -> 0.0.8 (-> v0.0.8 *)' \
2525
|| die "did not find test-stable-8 alias; got '$NVM_ALIAS_OUTPUT'"
26-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-9 -> 0.0.9 (-> v0.0.9)' \
26+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-9 -> 0.0.9 (-> v0.0.9 *)' \
2727
|| die "did not find test-stable-9 alias; got '$NVM_ALIAS_OUTPUT'"
28-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-10 -> 0.0.10 (-> v0.0.10)' \
28+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-10 -> 0.0.10 (-> v0.0.10 *)' \
2929
|| die "did not find test-stable-10 alias; got '$NVM_ALIAS_OUTPUT'"
30-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-1 -> 0.1.1 (-> v0.1.1)' \
30+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-1 -> 0.1.1 (-> v0.1.1 *)' \
3131
|| die "did not find test-unstable-1 alias; got '$NVM_ALIAS_OUTPUT'"
32-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-2 -> 0.1.2 (-> v0.1.2)' \
32+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-2 -> 0.1.2 (-> v0.1.2 *)' \
3333
|| die "did not find test-unstable-2 alias; got '$NVM_ALIAS_OUTPUT'"
34-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-3 -> 0.1.3 (-> v0.1.3)' \
34+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-3 -> 0.1.3 (-> v0.1.3 *)' \
3535
|| die "did not find test-unstable-3 alias; got '$NVM_ALIAS_OUTPUT'"
36-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-4 -> 0.1.4 (-> v0.1.4)' \
36+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-4 -> 0.1.4 (-> v0.1.4 *)' \
3737
|| die "did not find test-unstable-4 alias; got '$NVM_ALIAS_OUTPUT'"
38-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-5 -> 0.1.5 (-> v0.1.5)' \
38+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-5 -> 0.1.5 (-> v0.1.5 *)' \
3939
|| die "did not find test-unstable-5 alias; got '$NVM_ALIAS_OUTPUT'"
40-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-6 -> 0.1.6 (-> v0.1.6)' \
40+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-6 -> 0.1.6 (-> v0.1.6 *)' \
4141
|| die "did not find test-unstable-6 alias; got '$NVM_ALIAS_OUTPUT'"
42-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-7 -> 0.1.7 (-> v0.1.7)' \
42+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-7 -> 0.1.7 (-> v0.1.7 *)' \
4343
|| die "did not find test-unstable-7 alias; got '$NVM_ALIAS_OUTPUT'"
44-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-8 -> 0.1.8 (-> v0.1.8)' \
44+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-8 -> 0.1.8 (-> v0.1.8 *)' \
4545
|| die "did not find test-unstable-8 alias; got '$NVM_ALIAS_OUTPUT'"
46-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-9 -> 0.1.9 (-> v0.1.9)' \
46+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-9 -> 0.1.9 (-> v0.1.9 *)' \
4747
|| die "did not find test-unstable-9 alias; got '$NVM_ALIAS_OUTPUT'"
48-
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-10 -> 0.1.10 (-> v0.1.10)' \
48+
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-unstable-10 -> 0.1.10 (-> v0.1.10 *)' \
4949
|| die "did not find test-unstable-10 alias; got '$NVM_ALIAS_OUTPUT'"

test/fast/Aliases/nvm_ensure_default_set

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ nvm_ensure_default_set 0.3 || die "'nvm_ensure_default_set' with an existing def
1414
nvm unalias default || die "'nvm unalias default' failed"
1515

1616
OUTPUT="$(nvm_ensure_default_set 0.2)"
17-
EXPECTED_OUTPUT="Creating default alias: default -> 0.2 (-> iojs-v0.2.10)"
17+
EXPECTED_OUTPUT="Creating default alias: default -> 0.2 (-> iojs-v0.2.10 *)"
1818
EXIT_CODE="$?"
1919

2020
[ "_$(echo "$OUTPUT" | strip_colors)" = "_$EXPECTED_OUTPUT" ] || die "'nvm_ensure_default_set 0.2' did not output '$EXPECTED_OUTPUT', got '$OUTPUT'"

test/fast/Aliases/nvm_list_aliases calls nvm_get_colors

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ die () { echo "$@" ; exit 1; }
77

88
set -e
99

10+
nvm_has_colors() { return 0; }
11+
1012
nvm_get_colors(){
1113
echo "0;95m"
1214
}

test/fast/Aliases/nvm_print_alias_path calls nvm_get_colors

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ die () {
1111

1212
set -e
1313

14+
nvm_has_colors() { return 0; }
15+
1416
nvm_get_colors(){
1517
echo "0;95m"
1618
}

test/fast/Aliases/nvm_print_formatted_alias calls nvm_get_colors

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ die () {
99
}
1010

1111
set -e
12+
13+
nvm_has_colors() { return 0; }
14+
1215
# # # expecting in red and two grays:
1316
OUTPUT=$(echo $(nvm_print_formatted_alias fakealias fakedest) | awk '{ print substr($0, 1, 21); }')
1417
EXPECTED_OUTPUT="$(command printf %b "\033[0;31mfakealias\033[0m ")"

test/fast/Set Colors/nvm_print_default_alias calls nvm_get_colors

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ die () {
1111

1212
set -e
1313

14+
nvm_has_colors() { return 0; }
15+
1416
nvm_get_colors(){
1517
echo "0;95m"
1618
}

0 commit comments

Comments
 (0)