husky/test/functions.sh

57 lines
897 B
JavaScript
Executable File

# Exit on error
set -eu
setup() {
name="$(basename -- "$0")"
testDir="/tmp/husky-test-$name"
echo
echo "-------------------"
echo "+ $name"
echo "-------------------"
echo
# Create test directory
rm -rf "$testDir"
mkdir -p "$testDir"
cd "$testDir"
# Init git
git init --quiet
git config user.email "test@test"
git config user.name "test"
# Init package.json
npm_config_loglevel="error" npm init -y 1>/dev/null
}
install() {
npm install ../husky.tgz
}
expect() {
set +e
sh -c "$2"
exitCode="$?"
set -e
if [ $exitCode != "$1" ]; then
error "expect command \"$2\" to exit with code $1 (got $exitCode)"
fi
}
expect_hooksPath_to_be() {
set +e
hooksPath=$(git config core.hooksPath)
if [ "$hooksPath" != "$1" ]; then
error "core.hooksPath should be $1, was $hooksPath"
fi
}
error() {
echo -e "\e[0;31mERROR:\e[m $1"
exit 1
}
ok() {
echo -e "\e[0;32mOK\e[m"
}