#!/bin/sh cleanup() { unalias wget unset -f wget unset WGET_EXPECTED_INFO WGET_COMMAND_INFO } die() { echo "$@" ; cleanup ; exit 1; } \. ../../../nvm.sh # 1. test wget command WGET_COMMAND_INFO="$(nvm_command_info wget)" WGET_EXPECTED_INFO="$(which wget)" [ "${WGET_COMMAND_INFO}" = "${WGET_EXPECTED_INFO}" ] || die "wget command info wrong(stage 1), expected: '${WGET_EXPECTED_INFO}', got '${WGET_COMMAND_INFO}'" cleanup # 2. test aliased wget # enable expand_aliases/aliases to make alias work in interactive shell if nvm_has shopt; then shopt -s expand_aliases elif nvm_has setopt; then setopt aliases fi alias wget="wget -V" WGET_COMMAND_INFO="$(nvm_command_info wget)" WGET_EXPECTED_INFO="$(which wget) (wget -V)" [ "${WGET_COMMAND_INFO}" = "${WGET_EXPECTED_INFO}" ] || die "wget command info wrong(stage 2), expected: '${WGET_EXPECTED_INFO}', got '${WGET_COMMAND_INFO}'" cleanup # 3. test wget function wget() { echo "wget function" } WGET_COMMAND_INFO="$(nvm_command_info wget)" WGET_EXPECTED_INFO="$(type wget)" [ "${WGET_COMMAND_INFO}" = "${WGET_EXPECTED_INFO}" ] || die "wget command info wrong(stage 3), expected: '${WGET_EXPECTED_INFO}', got '${WGET_COMMAND_INFO}'" cleanup # 4. nvm_command_info() should not have standard error OUTPUT="$(nvm_command_info ls 2>&1 >/dev/null)" [ -z "${OUTPUT}" ] || die "\`nvm_command_info ls\` expected no stderr; got >${OUTPUT}< (stage 4)" OUTPUT="$(nvm_command_info rm 2>&1 >/dev/null)" [ -z "${OUTPUT}" ] || die "\`nvm_command_info rm\` expected no stderr; got >${OUTPUT}< (stage 4)" OUTPUT="$(nvm_command_info git 2>&1 >/dev/null)" [ -z "${OUTPUT}" ] || die "\`nvm_command_info git\` expected no stderr; got >${OUTPUT}< (stage 4)" OUTPUT="$(nvm_command_info grep 2>&1 >/dev/null)" [ -z "${OUTPUT}" ] || die "\`nvm_command_info grep\` expected no stderr; got >${OUTPUT}< (stage 4)" cleanup