diff --git a/nvm.sh b/nvm.sh index 43caa24..4906a92 100644 --- a/nvm.sh +++ b/nvm.sh @@ -1082,9 +1082,9 @@ nvm_ls() { \\#${SEARCH_PATTERN}# !d; " \ -e 's#^\([^/]\{1,\}\)/\(.*\)$#\2.\1#;' \ - -e 's#\(.*\)\.\([^\.]\{1,\}\)$#\2-\1#;' \ - -e "s#^${NVM_NODE_PREFIX}-##;" \ | command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n \ + | command sed -e 's#\(.*\)\.\([^\.]\{1,\}\)$#\2-\1#;' \ + -e "s#^${NVM_NODE_PREFIX}-##;" \ )" fi fi diff --git "a/test/fast/Listing versions/Running \"nvm ls\" should display all installed versions." "b/test/fast/Listing versions/Running \"nvm ls\" should display all installed versions." index 6b71e1e..9f0eecd 100755 --- "a/test/fast/Listing versions/Running \"nvm ls\" should display all installed versions." +++ "b/test/fast/Listing versions/Running \"nvm ls\" should display all installed versions." @@ -25,3 +25,26 @@ nvm ls | grep v0.3.3 >/dev/null || die "v0.3.3 not found in: $(nvm ls)" nvm ls | grep v0.3.9 >/dev/null || die "v0.3.9 not found in: $(nvm ls)" nvm ls | grep v0.12.87 >/dev/null || die "v0.12.87 not found in: $(nvm ls)" nvm ls | grep iojs-v0.1.2 >/dev/null || die "iojs-v0.1.2 not found in: $(nvm ls)" + +OUTPUT="$(nvm_ls)" +EXPECTED_OUTPUT="v0.0.1 +v0.0.2 +v0.0.3 +v0.0.9 +v0.0.20 +iojs-v0.1.2 +v0.1.3 +v0.1.4 +v0.2.3 +v0.3.1 +v0.3.3 +v0.3.9 +iojs-v0.10.2 +v0.12.9 +v0.12.87 +v0.20.3" +if nvm_has_system_node || nvm_has_system_iojs; then + EXPECTED_OUTPUT="${EXPECTED_OUTPUT} +system" +fi +[ "${OUTPUT-}" = "${EXPECTED_OUTPUT-}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<"