#!/usr/bin/env bash

SUT=$(realpath $(dirname $0)/../makeself.sh)
SOURCE=$(realpath ..)

setupTests() {
  temp=`mktemp -d -t XXXXX`
  cd "$temp"
  mkdir archive
  touch archive/file

  # $SUT archive makeself-test.run "Test $1" declare -p "${1}"
  $SUT archive makeself-test.run "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)"

  assertEqual "${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)"

  assertEqual "${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)"

  assertEqual "${actual_user_pwd}" "${ans}"
}


source bashunit/bashunit.bash
