#!/bin/sh set -ex cleanup () { unset -f nvm_download nvm_get_checksum_alg nvm_get_mirror } die () { echo "$@" ; cleanup ; exit 1; } set +e # TODO: fix : nvm.sh \. ../../../nvm.sh set -e \. ../../common.sh nvm_get_mirror() { echo "mirror-${1}-${2}" } try_err nvm_get_checksum EXPECTED_OUTPUT='supported flavors: node, iojs' [ "${CAPTURED_STDERR}" = "${EXPECTED_OUTPUT}" ] || die "expected error output >${EXPECTED_OUTPUT}<, got >${CAPTURED_STDERR}<" [ "${CAPTURED_EXIT_CODE}" = 2 ] || die "expected exit code 2, got ${CAPTURED_EXIT_CODE}" nvm_download() { echo "ERROR_FAILED_MATCH no_match more fields" echo "${3} bar.tar.baz more fields" } nvm_get_checksum_alg() { echo 'sha-256' } OUTPUT="$(nvm_get_checksum node std foo bar tar.baz)" EXPECTED_OUTPUT="mirror-node-std/foo/SHASUMS256.txt" [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<" nvm_get_checksum_alg() { echo 'sha-1' } OUTPUT="$(nvm_get_checksum iojs std foo bar tar.baz)" EXPECTED_OUTPUT="mirror-iojs-std/foo/SHASUMS.txt" [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<" cleanup