mirror of https://github.com/typicode/husky.git
57 lines
897 B
JavaScript
Executable File
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"
|
|
}
|