You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
#!/bin/sh |
|
|
|
die () { echo "$@" ; cleanup ; exit 1; } |
|
|
|
TEST_PATH="$PWD/test_output" |
|
mkdir -p "$TEST_PATH" |
|
CALL_COUNT_PATH="$TEST_PATH/call_count.txt" |
|
: > "$CALL_COUNT_PATH" |
|
ALIAS_ARGS_PATH="$TEST_PATH/nvm_make_alias_args.txt" |
|
: > "$ALIAS_ARGS_PATH" |
|
|
|
cleanup() { |
|
unset -f nvm_download nvm_make_alias |
|
rm -rf "$TEST_PATH" |
|
} |
|
|
|
\. ../../../nvm.sh |
|
|
|
set -ex |
|
|
|
MOCKS_DIR="$PWD/mocks" |
|
|
|
# sample output at the time the test was written |
|
TAB_PATH="$MOCKS_DIR/nodejs.org-dist-index.tab" |
|
nvm_download() { |
|
cat "$TAB_PATH" |
|
} |
|
|
|
nvm_make_alias() { |
|
CALL_COUNT="$(cat "$CALL_COUNT_PATH")" |
|
CALL_COUNT="$((CALL_COUNT + 1))" |
|
echo "$CALL_COUNT" > "$CALL_COUNT_PATH" |
|
echo "${1}|${2}" >> "$ALIAS_ARGS_PATH" |
|
} |
|
|
|
nvm_ls_remote >/dev/null || die "nvm_ls_remote_failed?!" |
|
|
|
CALL_COUNT="$(cat "$CALL_COUNT_PATH")" |
|
|
|
EXPECTED_COUNT=3 |
|
[ "$CALL_COUNT" = "$EXPECTED_COUNT" ] || die "nvm_make_alias called $CALL_COUNT times; expected $EXPECTED_COUNT" |
|
|
|
ARGS="$(cat "$ALIAS_ARGS_PATH")" |
|
EXPECTED_ARGS_PATH="$MOCKS_DIR/nvm_make_alias LTS alias calls.txt" |
|
EXPECTED_ARGS="$(cat "$EXPECTED_ARGS_PATH")" |
|
[ "${ARGS}" = "${EXPECTED_ARGS}" ] || die "nvm_make_alias called with >${ARGS}<; expected >${EXPECTED_ARGS}<" |
|
|
|
cleanup
|
|
|