#!/bin/bash
set -eu
THIS="$(readlink -f "$0")"
THISDIR="$(dirname "${THIS}")"
SUT="$(dirname "${THISDIR}")/makeself.sh"

setupTests() {
  temp=`mktemp -d -t XXXXX`
  cd "$temp"
  mkdir archive
  touch archive/file
  archive_name=${2:-"makeself-test.run"}

  # $SUT archive makeself-test.run "Test $1" declare -p "${1}"
  $SUT archive "${archive_name}" "Test $1" echo \\\"\${${1}}\\\"
}

testArchiveDir()
{
  setupTests ARCHIVE_DIR
  local ans=$'./complicated\n dir\twith  spaces'
  mkdir "${ans}"
  mv ./makeself-test.run "${ans}/"
  actual_archive_dir="$("${ans}/makeself-test.run" --quiet)"

  assertEquals "${actual_archive_dir}" "${ans}"
}

testTmpRoot()
{
  setupTests TMPROOT
  local ans="${temp}"$'/complicated\n dir\twith  spaces'
  mkdir -p "${ans}"

  actual_tmp_root="$(TMPDIR="${ans}" "./makeself-test.run" --quiet)"

  assertEquals "${actual_tmp_root}" "${ans}"
}

testUserPWD()
{
  setupTests USER_PWD
  local ans="${temp}"$'/complicated\n dir\twith  spaces'
  mkdir -p "${ans}"
  cd "${ans}"

  actual_user_pwd="$("${temp}/makeself-test.run" --quiet)"

  assertEquals "${actual_user_pwd}" "${ans}"
}

testArchiveName()
{
  local ans="`mktemp -u XXXXXX`.run"
  setupTests ARCHIVE_NAME "${ans}"

  actual_archive_name="$("${temp}/${ans}" --quiet)"

  assertEquals "${actual_archive_name}" "${ans}"
}

# Load and run shUnit2.
source "./shunit2/shunit2"
