| #!/bin/sh |
| |
| die () { echo $@ ; cleanup ; exit 1; } |
| |
| cleanup() { |
| unset -f nvm_download |
| } |
| |
| . ../../../nvm.sh |
| |
| # sample output at the time the test was written |
| nvm_download() { |
| echo 'foo "v0.10.0' |
| echo 'foo "v0.10.0' |
| echo 'foo "v0.10.1' |
| echo 'foo "v0.10.1' |
| echo 'foo "v0.10.10' |
| echo 'foo "v0.10.10' |
| echo 'foo "v0.10.11' |
| echo 'foo "v0.10.11' |
| echo 'foo "v0.10.12' |
| echo 'foo "v0.10.12' |
| echo 'foo "v0.10.13' |
| echo 'foo "v0.10.13' |
| echo 'foo "v0.10.14' |
| echo 'foo "v0.10.14' |
| echo 'foo "v0.10.15' |
| echo 'foo "v0.10.15' |
| echo 'foo "v0.10.16' |
| echo 'foo "v0.10.16' |
| echo 'foo "v0.10.16' |
| echo 'foo "v0.10.16' |
| echo 'foo "v0.10.17' |
| echo 'foo "v0.10.17' |
| echo 'foo "v0.10.18' |
| echo 'foo "v0.10.18' |
| echo 'foo "v0.10.19' |
| echo 'foo "v0.10.19' |
| echo 'foo "v0.10.2' |
| echo 'foo "v0.10.2' |
| echo 'foo "v0.10.20' |
| echo 'foo "v0.10.20' |
| echo 'foo "v0.10.21' |
| echo 'foo "v0.10.21' |
| echo 'foo "v0.10.22' |
| echo 'foo "v0.10.22' |
| echo 'foo "v0.10.23' |
| echo 'foo "v0.10.23' |
| echo 'foo "v0.10.24' |
| echo 'foo "v0.10.24' |
| echo 'foo "v0.10.25' |
| echo 'foo "v0.10.25' |
| echo 'foo "v0.10.26' |
| echo 'foo "v0.10.26' |
| echo 'foo "v0.10.27' |
| echo 'foo "v0.10.27' |
| echo 'foo "v0.10.28' |
| echo 'foo "v0.10.28' |
| echo 'foo "v0.10.29' |
| echo 'foo "v0.10.29' |
| echo 'foo "v0.10.3' |
| echo 'foo "v0.10.3' |
| echo 'foo "v0.10.30' |
| echo 'foo "v0.10.30' |
| echo 'foo "v0.10.31' |
| echo 'foo "v0.10.31' |
| echo 'foo "v0.10.32' |
| echo 'foo "v0.10.32' |
| echo 'foo "v0.10.4' |
| echo 'foo "v0.10.4' |
| echo 'foo "v0.10.5' |
| echo 'foo "v0.10.5' |
| echo 'foo "v0.10.6' |
| echo 'foo "v0.10.6' |
| echo 'foo "v0.10.7' |
| echo 'foo "v0.10.7' |
| echo 'foo "v0.10.8' |
| echo 'foo "v0.10.8' |
| echo 'foo "v0.10.9' |
| echo 'foo "v0.10.9' |
| echo 'foo "v0.11.0' |
| echo 'foo "v0.11.0' |
| echo 'foo "v0.11.1' |
| echo 'foo "v0.11.1' |
| echo 'foo "v0.11.10' |
| echo 'foo "v0.11.10' |
| echo 'foo "v0.11.11' |
| echo 'foo "v0.11.11' |
| echo 'foo "v0.11.12' |
| echo 'foo "v0.11.12' |
| echo 'foo "v0.11.13' |
| echo 'foo "v0.11.13' |
| echo 'foo "v0.11.14' |
| echo 'foo "v0.11.14' |
| echo 'foo "v0.11.2' |
| echo 'foo "v0.11.2' |
| echo 'foo "v0.11.3' |
| echo 'foo "v0.11.3' |
| echo 'foo "v0.11.4' |
| echo 'foo "v0.11.4' |
| echo 'foo "v0.11.5' |
| echo 'foo "v0.11.5' |
| echo 'foo "v0.11.6' |
| echo 'foo "v0.11.6' |
| echo 'foo "v0.11.7' |
| echo 'foo "v0.11.7' |
| echo 'foo "v0.11.8' |
| echo 'foo "v0.11.8' |
| echo 'foo "v0.11.9' |
| echo 'foo "v0.11.9' |
| echo 'foo "v0.5.1' |
| echo 'foo "v0.5.1' |
| echo 'foo "v0.5.10' |
| echo 'foo "v0.5.10' |
| echo 'foo "v0.5.2' |
| echo 'foo "v0.5.2' |
| echo 'foo "v0.5.3' |
| echo 'foo "v0.5.3' |
| echo 'foo "v0.5.4' |
| echo 'foo "v0.5.4' |
| echo 'foo "v0.5.5' |
| echo 'foo "v0.5.5' |
| echo 'foo "v0.5.6' |
| echo 'foo "v0.5.6' |
| echo 'foo "v0.5.7' |
| echo 'foo "v0.5.7' |
| echo 'foo "v0.5.8' |
| echo 'foo "v0.5.8' |
| echo 'foo "v0.5.9' |
| echo 'foo "v0.5.9' |
| echo 'foo "v0.6.0' |
| echo 'foo "v0.6.0' |
| echo 'foo "v0.6.1' |
| echo 'foo "v0.6.1' |
| echo 'foo "v0.6.10' |
| echo 'foo "v0.6.10' |
| echo 'foo "v0.6.11' |
| echo 'foo "v0.6.11' |
| echo 'foo "v0.6.12' |
| echo 'foo "v0.6.12' |
| echo 'foo "v0.6.13' |
| echo 'foo "v0.6.13' |
| echo 'foo "v0.6.14' |
| echo 'foo "v0.6.14' |
| echo 'foo "v0.6.15' |
| echo 'foo "v0.6.15' |
| echo 'foo "v0.6.16' |
| echo 'foo "v0.6.16' |
| echo 'foo "v0.6.17' |
| echo 'foo "v0.6.17' |
| echo 'foo "v0.6.18' |
| echo 'foo "v0.6.18' |
| echo 'foo "v0.6.19' |
| echo 'foo "v0.6.19' |
| echo 'foo "v0.6.2' |
| echo 'foo "v0.6.2' |
| echo 'foo "v0.6.20' |
| echo 'foo "v0.6.20' |
| echo 'foo "v0.6.21' |
| echo 'foo "v0.6.21' |
| echo 'foo "v0.6.3' |
| echo 'foo "v0.6.3' |
| echo 'foo "v0.6.4' |
| echo 'foo "v0.6.4' |
| echo 'foo "v0.6.5' |
| echo 'foo "v0.6.5' |
| echo 'foo "v0.6.6' |
| echo 'foo "v0.6.6' |
| echo 'foo "v0.6.7' |
| echo 'foo "v0.6.7' |
| echo 'foo "v0.6.8' |
| echo 'foo "v0.6.8' |
| echo 'foo "v0.6.9' |
| echo 'foo "v0.6.9' |
| echo 'foo "v0.7.0' |
| echo 'foo "v0.7.0' |
| echo 'foo "v0.7.1' |
| echo 'foo "v0.7.1' |
| echo 'foo "v0.7.10' |
| echo 'foo "v0.7.10' |
| echo 'foo "v0.7.11' |
| echo 'foo "v0.7.11' |
| echo 'foo "v0.7.12' |
| echo 'foo "v0.7.12' |
| echo 'foo "v0.7.2' |
| echo 'foo "v0.7.2' |
| echo 'foo "v0.7.3' |
| echo 'foo "v0.7.3' |
| echo 'foo "v0.7.4' |
| echo 'foo "v0.7.4' |
| echo 'foo "v0.7.5' |
| echo 'foo "v0.7.5' |
| echo 'foo "v0.7.6' |
| echo 'foo "v0.7.6' |
| echo 'foo "v0.7.7' |
| echo 'foo "v0.7.7' |
| echo 'foo "v0.7.8' |
| echo 'foo "v0.7.8' |
| echo 'foo "v0.7.9' |
| echo 'foo "v0.7.9' |
| echo 'foo "v0.8.0' |
| echo 'foo "v0.8.0' |
| echo 'foo "v0.8.1' |
| echo 'foo "v0.8.1' |
| echo 'foo "v0.8.10' |
| echo 'foo "v0.8.10' |
| echo 'foo "v0.8.11' |
| echo 'foo "v0.8.11' |
| echo 'foo "v0.8.12' |
| echo 'foo "v0.8.12' |
| echo 'foo "v0.8.13' |
| echo 'foo "v0.8.13' |
| echo 'foo "v0.8.14' |
| echo 'foo "v0.8.14' |
| echo 'foo "v0.8.15' |
| echo 'foo "v0.8.15' |
| echo 'foo "v0.8.16' |
| echo 'foo "v0.8.16' |
| echo 'foo "v0.8.17' |
| echo 'foo "v0.8.17' |
| echo 'foo "v0.8.18' |
| echo 'foo "v0.8.18' |
| echo 'foo "v0.8.19' |
| echo 'foo "v0.8.19' |
| echo 'foo "v0.8.2' |
| echo 'foo "v0.8.2' |
| echo 'foo "v0.8.20' |
| echo 'foo "v0.8.20' |
| echo 'foo "v0.8.21' |
| echo 'foo "v0.8.21' |
| echo 'foo "v0.8.22' |
| echo 'foo "v0.8.22' |
| echo 'foo "v0.8.23' |
| echo 'foo "v0.8.23' |
| echo 'foo "v0.8.24' |
| echo 'foo "v0.8.24' |
| echo 'foo "v0.8.25' |
| echo 'foo "v0.8.25' |
| echo 'foo "v0.8.26' |
| echo 'foo "v0.8.26' |
| echo 'foo "v0.8.27' |
| echo 'foo "v0.8.27' |
| echo 'foo "v0.8.28' |
| echo 'foo "v0.8.28' |
| echo 'foo "v0.8.3' |
| echo 'foo "v0.8.3' |
| echo 'foo "v0.8.4' |
| echo 'foo "v0.8.4' |
| echo 'foo "v0.8.5' |
| echo 'foo "v0.8.5' |
| echo 'foo "v0.8.6' |
| echo 'foo "v0.8.6' |
| echo 'foo "v0.8.7' |
| echo 'foo "v0.8.7' |
| echo 'foo "v0.8.8' |
| echo 'foo "v0.8.8' |
| echo 'foo "v0.8.9' |
| echo 'foo "v0.8.9' |
| echo 'foo "v0.9.0' |
| echo 'foo "v0.9.0' |
| echo 'foo "v0.9.1' |
| echo 'foo "v0.9.1' |
| echo 'foo "v0.9.10' |
| echo 'foo "v0.9.10' |
| echo 'foo "v0.9.11' |
| echo 'foo "v0.9.11' |
| echo 'foo "v0.9.12' |
| echo 'foo "v0.9.12' |
| echo 'foo "v0.9.2' |
| echo 'foo "v0.9.2' |
| echo 'foo "v0.9.3' |
| echo 'foo "v0.9.3' |
| echo 'foo "v0.9.4' |
| echo 'foo "v0.9.4' |
| echo 'foo "v0.9.5' |
| echo 'foo "v0.9.5' |
| echo 'foo "v0.9.6' |
| echo 'foo "v0.9.6' |
| echo 'foo "v0.9.7' |
| echo 'foo "v0.9.7' |
| echo 'foo "v0.9.8' |
| echo 'foo "v0.9.8' |
| echo 'foo "v0.9.9' |
| echo 'foo "v0.9.9' |
| echo 'foo "v0.1.100' |
| echo 'foo "v0.1.100' |
| echo 'foo "v0.1.101' |
| echo 'foo "v0.1.101' |
| echo 'foo "v0.1.102' |
| echo 'foo "v0.1.102' |
| echo 'foo "v0.1.103' |
| echo 'foo "v0.1.103' |
| echo 'foo "v0.1.104' |
| echo 'foo "v0.1.104' |
| echo 'foo "v0.1.14' |
| echo 'foo "v0.1.14' |
| echo 'foo "v0.1.15' |
| echo 'foo "v0.1.15' |
| echo 'foo "v0.1.16' |
| echo 'foo "v0.1.16' |
| echo 'foo "v0.1.17' |
| echo 'foo "v0.1.17' |
| echo 'foo "v0.1.18' |
| echo 'foo "v0.1.18' |
| echo 'foo "v0.1.19' |
| echo 'foo "v0.1.19' |
| echo 'foo "v0.1.20' |
| echo 'foo "v0.1.20' |
| echo 'foo "v0.1.21' |
| echo 'foo "v0.1.21' |
| echo 'foo "v0.1.22' |
| echo 'foo "v0.1.22' |
| echo 'foo "v0.1.23' |
| echo 'foo "v0.1.23' |
| echo 'foo "v0.1.24' |
| echo 'foo "v0.1.24' |
| echo 'foo "v0.1.25' |
| echo 'foo "v0.1.25' |
| echo 'foo "v0.1.26' |
| echo 'foo "v0.1.26' |
| echo 'foo "v0.1.27' |
| echo 'foo "v0.1.27' |
| echo 'foo "v0.1.28' |
| echo 'foo "v0.1.28' |
| echo 'foo "v0.1.29' |
| echo 'foo "v0.1.29' |
| echo 'foo "v0.1.30' |
| echo 'foo "v0.1.30' |
| echo 'foo "v0.1.31' |
| echo 'foo "v0.1.31' |
| echo 'foo "v0.1.32' |
| echo 'foo "v0.1.32' |
| echo 'foo "v0.1.33' |
| echo 'foo "v0.1.33' |
| echo 'foo "v0.1.90' |
| echo 'foo "v0.1.90' |
| echo 'foo "v0.1.91' |
| echo 'foo "v0.1.91' |
| echo 'foo "v0.1.92' |
| echo 'foo "v0.1.92' |
| echo 'foo "v0.1.93' |
| echo 'foo "v0.1.93' |
| echo 'foo "v0.1.94' |
| echo 'foo "v0.1.94' |
| echo 'foo "v0.1.95' |
| echo 'foo "v0.1.95' |
| echo 'foo "v0.1.96' |
| echo 'foo "v0.1.96' |
| echo 'foo "v0.1.97' |
| echo 'foo "v0.1.97' |
| echo 'foo "v0.1.98' |
| echo 'foo "v0.1.98' |
| echo 'foo "v0.1.99' |
| echo 'foo "v0.1.99' |
| echo 'foo "v0.10.14' |
| echo 'foo "v0.10.14' |
| echo 'foo "v0.2.0' |
| echo 'foo "v0.2.0' |
| echo 'foo "v0.2.1' |
| echo 'foo "v0.2.1' |
| echo 'foo "v0.2.2' |
| echo 'foo "v0.2.2' |
| echo 'foo "v0.2.3' |
| echo 'foo "v0.2.3' |
| echo 'foo "v0.2.4' |
| echo 'foo "v0.2.4' |
| echo 'foo "v0.2.5' |
| echo 'foo "v0.2.5' |
| echo 'foo "v0.2.6' |
| echo 'foo "v0.2.6' |
| echo 'foo "v0.3.0' |
| echo 'foo "v0.3.0' |
| echo 'foo "v0.3.1' |
| echo 'foo "v0.3.1' |
| echo 'foo "v0.3.2' |
| echo 'foo "v0.3.2' |
| echo 'foo "v0.3.3' |
| echo 'foo "v0.3.3' |
| echo 'foo "v0.3.4' |
| echo 'foo "v0.3.4' |
| echo 'foo "v0.3.5' |
| echo 'foo "v0.3.5' |
| echo 'foo "v0.3.6' |
| echo 'foo "v0.3.6' |
| echo 'foo "v0.3.7' |
| echo 'foo "v0.3.7' |
| echo 'foo "v0.3.8' |
| echo 'foo "v0.3.8' |
| echo 'foo "v0.4.0' |
| echo 'foo "v0.4.0' |
| echo 'foo "v0.4.1' |
| echo 'foo "v0.4.1' |
| echo 'foo "v0.4.10' |
| echo 'foo "v0.4.10' |
| echo 'foo "v0.4.11' |
| echo 'foo "v0.4.11' |
| echo 'foo "v0.4.12' |
| echo 'foo "v0.4.12' |
| echo 'foo "v0.4.2' |
| echo 'foo "v0.4.2' |
| echo 'foo "v0.4.3' |
| echo 'foo "v0.4.3' |
| echo 'foo "v0.4.4' |
| echo 'foo "v0.4.4' |
| echo 'foo "v0.4.5' |
| echo 'foo "v0.4.5' |
| echo 'foo "v0.4.6' |
| echo 'foo "v0.4.6' |
| echo 'foo "v0.4.7' |
| echo 'foo "v0.4.7' |
| echo 'foo "v0.4.8' |
| echo 'foo "v0.4.8' |
| echo 'foo "v0.4.9' |
| echo 'foo "v0.4.9' |
| echo 'foo "v0.5.0' |
| echo 'foo "v0.5.0' |
| echo 'foo "v0.6.1' |
| echo 'foo "v0.6.1' |
| echo 'foo "v0.6.10' |
| echo 'foo "v0.6.10' |
| echo 'foo "v0.6.11' |
| echo 'foo "v0.6.11' |
| echo 'foo "v0.6.12' |
| echo 'foo "v0.6.12' |
| echo 'foo "v0.6.13' |
| echo 'foo "v0.6.13' |
| echo 'foo "v0.6.2' |
| echo 'foo "v0.6.2' |
| echo 'foo "v0.6.3' |
| echo 'foo "v0.6.3' |
| echo 'foo "v0.6.4' |
| echo 'foo "v0.6.4' |
| echo 'foo "v0.6.5' |
| echo 'foo "v0.6.5' |
| echo 'foo "v0.6.6' |
| echo 'foo "v0.6.6' |
| echo 'foo "v0.6.7' |
| echo 'foo "v0.6.7' |
| echo 'foo "v0.6.8' |
| echo 'foo "v0.6.8' |
| echo 'foo "v0.6.9' |
| echo 'foo "v0.6.9' |
| } |
| |
| OUTPUT="$(nvm_ls_remote foo)" |
| EXIT_CODE="$(nvm_ls_remote foo >/dev/null 2>&1 ; echo $?)" |
| [ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A" |
| [ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE" |
| |
| OUTPUT="$(nvm_ls_remote)" |
| EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n)" |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")" |
| |
| OUTPUT="$(nvm_ls_remote 0.3)" |
| EXPECTED_OUTPUT="v0.3.0 |
| v0.3.1 |
| v0.3.2 |
| v0.3.3 |
| v0.3.4 |
| v0.3.5 |
| v0.3.6 |
| v0.3.7 |
| v0.3.8" |
| |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote 0.3 did not output 0.3.x versions; got $OUTPUT" |
| |
| # Sanity checks |
| OUTPUT="$(nvm_print_implicit_alias remote stable)" |
| EXPECTED_OUTPUT="0.10" |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT" |
| |
| OUTPUT="$(nvm_print_implicit_alias remote unstable)" |
| EXPECTED_OUTPUT="0.11" |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote unstable did not output $EXPECTED_OUTPUT; got $OUTPUT" |
| |
| OUTPUT="$(nvm_ls_remote stable)" |
| EXPECTED_OUTPUT="v0.10.32" |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT" |
| |
| OUTPUT="$(nvm_ls_remote unstable)" |
| EXPECTED_OUTPUT="v0.11.14" |
| [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote unstable did not output $EXPECTED_OUTPUT; got $OUTPUT" |
| |
| cleanup |
| |