File tree 3 files changed +33
-4
lines changed
3 files changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -3495,12 +3495,18 @@ nvm() {
3495
3495
}
3496
3496
3497
3497
nvm_get_default_packages () {
3498
- if [ -f " ${NVM_DIR} /default-packages" ]; then
3498
+ local NVM_DEFAULT_PACKAGE_FILE=" ${NVM_DIR} /default-packages"
3499
+ if [ -f " ${NVM_DEFAULT_PACKAGE_FILE} " ]; then
3499
3500
local DEFAULT_PACKAGES
3500
3501
DEFAULT_PACKAGES=' '
3501
3502
3502
3503
# Read lines from $NVM_DIR/default-packages
3503
3504
local line
3505
+ # ensure a trailing newline
3506
+ WORK=$( mktemp -d) || exit $?
3507
+ trap " rm -rf '$WORK '" EXIT
3508
+ # shellcheck disable=SC1003
3509
+ sed -e ' $a\' " ${NVM_DEFAULT_PACKAGE_FILE} " > " ${WORK} /default-packages"
3504
3510
while IFS=' ' read -r line; do
3505
3511
# Skip empty lines.
3506
3512
[ -n " ${line-} " ] || continue
@@ -3517,7 +3523,7 @@ nvm_get_default_packages() {
3517
3523
esac
3518
3524
3519
3525
DEFAULT_PACKAGES=" ${DEFAULT_PACKAGES}${line} "
3520
- done < " ${NVM_DIR } /default-packages"
3526
+ done < " ${WORK } /default-packages"
3521
3527
echo " ${DEFAULT_PACKAGES} " | xargs
3522
3528
fi
3523
3529
}
Original file line number Diff line number Diff line change @@ -52,14 +52,29 @@ cleanup
52
52
53
53
setup
54
54
55
+ cat > $FILE << EOF
56
+ rimraf
57
+ not~a~package~name
58
+ mkdirp
59
+ EOF
60
+ printf %s " $( cat " ${FILE} " ) " > $FILE # strip trailing newline
61
+
62
+ DEFAULT_PKGS=" $( nvm_get_default_packages) "
63
+ EXPECTED_PKGS=' rimraf not~a~package~name mkdirp'
64
+ [ " ${DEFAULT_PKGS} " = " ${EXPECTED_PKGS} " ] || die " 3: expected default packages >${EXPECTED_PKGS} <; got >${DEFAULT_PKGS} <"
65
+
66
+ cleanup
67
+
68
+ setup
69
+
55
70
cat > $FILE << EOF
56
71
object-inspect @ 1.0.2
57
72
rimraf
58
73
EOF
59
74
60
75
DEFAULT_PKGS=" $( nvm_get_default_packages 2>&1 > /dev/null) "
61
76
EXPECTED_PKGS=" Only one package per line is allowed in the $FILE file. Please remove any lines with multiple space-separated values."
62
- [ " ${DEFAULT_PKGS} " = " ${EXPECTED_PKGS} " ] || die " 3 : expected default packages >${EXPECTED_PKGS} <; got >${DEFAULT_PKGS} <"
77
+ [ " ${DEFAULT_PKGS} " = " ${EXPECTED_PKGS} " ] || die " 4 : expected default packages >${EXPECTED_PKGS} <; got >${DEFAULT_PKGS} <"
63
78
64
79
cleanup
65
80
@@ -69,7 +84,7 @@ rm -rf $FILE
69
84
70
85
DEFAULT_PKGS=" $( nvm_get_default_packages) "
71
86
EXPECTED_PKGS=' '
72
- [ " ${DEFAULT_PKGS} " = " ${EXPECTED_PKGS} " ] || die " 4 : expected default packages >${EXPECTED_PKGS} <; got >${DEFAULT_PKGS} <"
87
+ [ " ${DEFAULT_PKGS} " = " ${EXPECTED_PKGS} " ] || die " 5 : expected default packages >${EXPECTED_PKGS} <; got >${DEFAULT_PKGS} <"
73
88
74
89
touch $FILE
75
90
Original file line number Diff line number Diff line change 30
30
# commented-package
31
31
32
32
stevemao/left-pad
33
+ daytime
33
34
EOF
34
35
36
+ printf %s " $( cat " ${FILE} " ) " > $FILE # strip trailing newline
37
+
35
38
nvm install v6.10.1 2>&1
36
39
EXIT_CODE=$?
37
40
[ " _$EXIT_CODE " = " _0" ] || die " expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE "
@@ -41,6 +44,11 @@ if [ -z "$?" ]; then
41
44
die " expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to exit with 0, got $? "
42
45
fi
43
46
47
+ nvm exec v6.10.1 npm ls -g --depth=0 | grep -q ' daytime'
48
+ if [ -z " $? " ]; then
49
+ die " expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'daytime'' to exit with 0, got $? "
50
+ fi
51
+
44
52
cleanup
45
53
46
54
setup
You can’t perform that action at this time.
0 commit comments