#!/bin/sh

die () { echo $@ ; cleanup ; exit 1; }
cleanup() {
  rm -rf ../../../v0.2.3
  rm -rf ../../../v0.3.4
  rm -rf ../../../v0.4.6
  rm -rf ../../../v0.5.7
  rm -rf ../../../v0.7.7
  rm -rf ../../../versions/io.js/v0.98.0
  unset -f nvm_ls_remote nvm_ls_remote_iojs
}

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

mkdir ../../../v0.2.3
mkdir ../../../v0.3.4
mkdir ../../../v0.4.6
mkdir ../../../v0.5.7
mkdir ../../../v0.7.7
mkdir -p ../../../versions/io.js/v0.98.0

LATEST_STABLE="$(nvm_print_implicit_alias local stable)"
[ "_$LATEST_STABLE" = "_0.4" ] || die "local stable is not latest even minor: expected 0.4, got $LATEST_STABLE"

LATEST_NODE="$(nvm_print_implicit_alias local node)"
[ "_$LATEST_NODE" = "_stable" ] || die "local node is not stable: expected stable, got $LATEST_NODE"

LATEST_UNSTABLE="$(nvm_print_implicit_alias local unstable)"
[ "_$LATEST_UNSTABLE" = "_0.7" ] || die "local unstable is not latest odd minor: expected 0.7, got $LATEST_UNSTABLE"

LATEST_IOJS="$(nvm_print_implicit_alias local iojs)"
[ "_$LATEST_IOJS" = "_iojs-v0.98" ] || die "local iojs is not latest iojs: expected iojs-v0.98, got $LATEST_IOJS"

nvm_ls_remote() {
  echo "v0.4.3"
  echo "v0.5.4"
  echo "v0.6.6"
  echo "v0.7.7"
  echo "v0.9.7"
  echo "v0.4.3"
  echo "v0.5.4"
  echo "v0.6.6"
  echo "v0.7.7"
  echo "v0.9.7"
}

nvm_ls_remote_iojs() {
  echo "iojs-v0.1.0"
  echo "iojs-v0.1.1"
  echo "iojs-v0.7.8"
  echo "iojs-v0.98.5"
  echo "iojs-v0.99.0"
}

LATEST_STABLE="$(nvm_print_implicit_alias remote stable)"
[ "_$LATEST_STABLE" = "_0.6" ] || die "remote stable is not latest even minor: expected 0.6, got $LATEST_STABLE"

LATEST_NODE="$(nvm_print_implicit_alias remote node)"
[ "_$LATEST_NODE" = "_stable" ] || die "remote node is not stable: expected stable, got $LATEST_NODE"

LATEST_UNSTABLE="$(nvm_print_implicit_alias remote unstable)"
[ "_$LATEST_UNSTABLE" = "_0.9" ] || die "remote unstable is not latest odd minor: expected 0.9, got $LATEST_UNSTABLE"

LATEST_IOJS="$(nvm_print_implicit_alias remote iojs)"
[ "_$LATEST_IOJS" = "_iojs-v0.99" ] || die "remote iojs is not latest: expected iojs-v0.99, got $LATEST_IOJS"

cleanup

