Skip to content

Commit 1a9ab82

Browse files
committed
Merge pull request nvm-sh#466 from creationix/nvm_ls_minor_versions
nvm_ls minor versions
2 parents c49cb68 + 83efa22 commit 1a9ab82

File tree

2 files changed

+39
-6
lines changed

2 files changed

+39
-6
lines changed

nvm.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,16 @@ nvm_ls() {
153153
return
154154
fi
155155
# If it looks like an explicit version, don't do anything funny
156-
if [ `expr "$PATTERN" : "v[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*$"` != 0 ]; then
156+
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*\.[0-9]*$"` != 0 ]; then
157157
if [ -d "$NVM_DIR/$PATTERN" ]; then
158158
VERSIONS="$PATTERN"
159159
fi
160160
else
161-
VERSIONS=`find "$NVM_DIR/" -maxdepth 1 -type d -name "$(nvm_format_version $PATTERN)*" -exec basename '{}' ';' \
161+
PATTERN=$(nvm_format_version $PATTERN)
162+
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*$"` != 0 ]; then
163+
PATTERN="$PATTERN."
164+
fi
165+
VERSIONS=`find "$NVM_DIR/" -maxdepth 1 -type d -name "$PATTERN*" -exec basename '{}' ';' \
162166
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | \grep -v '^ *\.'`
163167
fi
164168
if [ -z "$VERSIONS" ]; then

test/fast/Listing versions/Running "nvm ls 0.2" should display only 0.2.x versions.

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,40 @@
22

33
mkdir ../../../v0.1.3
44
mkdir ../../../v0.2.3
5+
mkdir ../../../v0.20.3
56

67
. ../../../nvm.sh
78

9+
die () { echo $@ ; exit 1; }
10+
811
# The result should contain only the appropriate version numbers.
9-
nvm ls 0.2 | grep v0.2.3 &&
10-
nvm ls 0.1 | grep -v v0.2.3 &&
11-
nvm ls 0.1 | grep v0.1.3 &&
12-
nvm ls v0.2 | grep v0.2.3
12+
13+
nvm ls 0.1 | grep 'v0.2.3' > /dev/null
14+
if [ $? -eq 0 ]; then
15+
echo '"nvm ls 0.1" contained v0.2.3'
16+
fi
17+
18+
nvm ls 0.1 | grep 'v0.20.3' > /dev/null
19+
if [ $? -eq 0 ]; then
20+
die '"nvm ls 0.1" contained v0.20.3'
21+
fi
22+
23+
nvm ls 0.1 | grep 'v0.1.3' > /dev/null
24+
if [ $? -ne 0 ]; then
25+
die '"nvm ls 0.1" did not contain v0.1.3'
26+
fi
27+
28+
nvm ls 0.2 | grep 'v0.2.3' > /dev/null
29+
if [ $? -ne 0 ]; then
30+
die '"nvm ls 0.2" did not contain v0.2.3'
31+
fi
32+
33+
nvm ls 0.2 | grep 'v0.20.3' > /dev/null
34+
if [ $? -eq 0 ]; then
35+
die '"nvm ls 0.2" contained v0.20.3'
36+
fi
37+
38+
nvm ls 0.2 | grep 'v0.2.3' > /dev/null
39+
if [ $? -ne 0 ]; then
40+
die '"nvm ls 0.2" did not contain v0.2.3'
41+
fi

0 commit comments

Comments
 (0)