#!/bin/sh

die () { echo "$@" ; cleanup ; exit 1; }

cleanup() {
  unset -f curl wget nvm_has
}

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

EXPECTED_VERSION="v12.3.456"
URL="https://github.com/nvm-sh/nvm/releases/tag/$EXPECTED_VERSION"
EXPECTED_CURL_ARGS="--compressed -q -w %{url_effective}\n -L -s -S http://latest.nvm.sh -o /dev/null"
EXPECTED_WGET_ARGS="-q http://latest.nvm.sh --server-response -O /dev/null"

curl() {
  if [ $# -eq 1 ] && [ "$1" = "-V" ]; then
    echo "
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets"
  elif [ "_$*" != "_$EXPECTED_CURL_ARGS" ]; then
    echo >&2 "expected args ($EXPECTED_CURL_ARGS), got ($*)"
    return 1
  else
    echo $URL
  fi
}
wget() {
  if [ "_$*" != "_$EXPECTED_WGET_ARGS" ]; then
    echo >&2 "expected args ($EXPECTED_WGET_ARGS), got ($*)"
    return 1
  else
    local WGET_CONTENTS
    WGET_CONTENTS="
  HTTP/1.1 301 Moved Permanently
  Location: https://github.com/nvm-sh/nvm/releases/latest
  Content-Type: text/html; charset=utf-8
  Content-Length: 84
  Date: Mon, 22 Dec 2014 02:11:15 GMT
  HTTP/1.1 302 Found
  Server: GitHub.com
  Date: Mon, 22 Dec 2014 02:11:15 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Status: 302 Found
  X-XSS-Protection: 1; mode=block
  X-Frame-Options: deny
  Content-Security-Policy: default-src *; script-src assets-cdn.github.com collector-cdn.github.com; object-src assets-cdn.github.com; style-src 'self' 'unsafe-inline' 'unsafe-eval' assets-cdn.github.com; img-src 'self' data: assets-cdn.github.com identicons.github.com www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com *.wp.com; media-src 'none'; frame-src 'self' render.githubusercontent.com gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src assets-cdn.github.com; connect-src 'self' ghconduit.com:25035 live.github.com uploads.github.com www.google-analytics.com s3.amazonaws.com
  Cache-Control: no-cache
  Vary: X-PJAX
  Location: $URL
  X-UA-Compatible: IE=Edge,chrome=1
  X-Request-Id: 4b99bf200157dd845f76ab83e4093acc
  X-Runtime: 0.030872
  X-Rack-Cache: miss
  X-GitHub-Request-Id: 45B56780:3913:880EF6:54977DC3
  Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
  X-Content-Type-Options: nosniff
  Vary: Accept-Encoding
  X-Served-By: ef97014f01ea59c1ef337fe51a4d0331
  HTTP/1.1 200 OK
  Server: GitHub.com
  Date: Mon, 22 Dec 2014 02:11:15 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Status: 200 OK
  X-XSS-Protection: 1; mode=block
  X-Frame-Options: deny
  Content-Security-Policy: default-src *; script-src assets-cdn.github.com collector-cdn.github.com; object-src assets-cdn.github.com; style-src 'self' 'unsafe-inline' 'unsafe-eval' assets-cdn.github.com; img-src 'self' data: assets-cdn.github.com identicons.github.com www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com *.wp.com; media-src 'none'; frame-src 'self' render.githubusercontent.com gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src assets-cdn.github.com; connect-src 'self' ghconduit.com:25035 live.github.com uploads.github.com www.google-analytics.com s3.amazonaws.com
  Cache-Control: no-cache, private
  Vary: X-PJAX
  X-UA-Compatible: IE=Edge,chrome=1
  X-Request-Id: 305b0d158bf8c0b3fa488a33d7687091
  X-Runtime: 0.038544
  X-Rack-Cache: miss
  X-GitHub-Request-Id: 45B56780:3913:880F19:54977DC3
  Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
  X-Content-Type-Options: nosniff
  Vary: Accept-Encoding
  X-Served-By: 926b734ea1992f8ee1f88ab967a93dac
"
    "$WGET_CONTENTS" | while read line
    do
      >&2 echo "$line"
    done
  fi
}

OUTPUT="$(nvm_get_latest)"
EXIT_CODE="$(nvm_get_latest >/dev/null 2>&1 ; echo $?)"
[ "_$OUTPUT" = "_$EXPECTED_VERSION" ] \
  || die "success path did not return version '$EXPECTED_VERSION', got '$OUTPUT'"
[ "_$EXIT_CODE" = "_0" ] \
  || die "success path did not exit with code 0, got $EXIT_CODE"


cleanup
