#!/bin/sh # setting exit because we're linting and need to exit on failure set -e usage () { printf "Usage: test\n" } lint () { standard } 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 xhr } # 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 "$@" && exit ;; b|browser) shift; test_browser "$@" && exit ;; l|browser-local) shift; test_browser_local "$@" && exit ;; s|server) shift; test_server "$@" && exit ;; c|cov) shift; test_cov "$@" && exit ;; d|deps) shift; check_deps "$@" && exit ;; esac