Files
buuh/scripts/test
T

79 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# setting exit because we're linting and need to exit on failure
set -e -o pipefail
usage () {
printf "Usage: test\n"
}
lint () {
standard > /dev/tty
standard-markdown > /dev/tty
}
test_electron () {
check_deps
lint
browserify tests/**/*.js \
-t es2020 \
-p proxyquire-universal \
| tape-run
}
test_cov () {
check_deps
lint
browserify tests/**/*.js \
-t es2020 \
-p proxyquire-universal \
-p tape-istanbul/plugin \
| tape-run \
| tape-istanbul \
&& istanbul report
}
test_server () {
lint
standard
check_deps
NODE_ENV=test node tests/server/*
}
test_browser () {
NODE_ENV=test zuul tests/browser/*
}
test_browser_local () {
lint
check_deps
NODE_ENV=test zuul --local 8080 -- tests/browser/*
}
check_deps () {
dependency-check . --entry 'index.js'
dependency-check . --entry 'index.js' --extra --no-dev \
-i document-ready \
-i global
}
# set CLI flags
# parse CLI flags
while true; do
case "$1" in
-h|--help) usage && exit 1 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
case "$1" in
e|electron) shift; test_electron "$@";;
b|browser) shift; test_browser "$@";;
l|browser-local) shift; test_browser_local "$@";;
s|server) shift; test_server "$@";;
lint) shift; lint "$@";;
c|cov) shift; test_cov "$@";;
d|deps) shift; check_deps "$@";;
esac