#!/bin/sh

cleanup () {
  alias nvm_has='\nvm_has'
  alias npm='\npm'
  unset -f nvm_has npm
}
die () { echo "$@" ; exit 1; }

\. ../../../nvm.sh

nvm_has() { return 1; }
OUTPUT="$(nvm_print_npm_version)"
[ -z "$OUTPUT" ] || die "nvm_print_npm_version did not return empty when nvm_has returns 1, got '$OUTPUT'"

nvm_has() { return 0; }
npm() {
  if [ "_$@" = "_--version" ]; then
    echo "1.2.3"
  else
    echo "error"
  fi
}
OUTPUT="$(nvm_print_npm_version)"
EXPECTED_OUTPUT=" (npm v1.2.3)"
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_npm_version did not provided '$EXPECTED_OUTPUT', got '$OUTPUT'"

cleanup