Files
op-packages/luci-app-overview-manager/scripts/test-runtime.sh
T

76 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
set -eu
root="$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)"
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT HUP INT TERM
mkdir -p "$tmp/includes"
touch \
"$tmp/includes/00_overview-manager.js" \
"$tmp/includes/10_system.js" \
"$tmp/includes/20_memory.js" \
"$tmp/includes/70_custom.js"
cat >"$tmp/uci" <<'EOF'
#!/bin/sh
while [ "${1:-}" = -q ]; do shift; done
case "${1:-}:${2:-}" in
get:overview-manager.main.order)
printf '%s\n' "${FAKE_ORDER:-}"
;;
get:overview-manager.main.hidden)
printf '%s\n' "${FAKE_HIDDEN:-}"
;;
set:* | commit:*)
printf '%s\n' "$*" >>"${FAKE_UCI_LOG:?}"
;;
*)
exit 1
;;
esac
EOF
chmod 755 "$tmp/uci"
run() {
OVERVIEW_MANAGER_INCLUDE_DIR="$tmp/includes" \
OVERVIEW_MANAGER_UCI="$tmp/uci" \
FAKE_UCI_LOG="$tmp/uci.log" \
FAKE_ORDER="${FAKE_ORDER:-}" \
FAKE_HIDDEN="${FAKE_HIDDEN:-}" \
"$root/runtime/overview-manager.sh" "$@"
}
expected_files='00_overview-manager.js
10_system.js
20_memory.js
70_custom.js'
[ "$(run files)" = "$expected_files" ]
FAKE_ORDER='70_custom.js 10_system.js' \
FAKE_HIDDEN='20_memory.js' \
run layout >"$tmp/layout"
grep -qx 'order=70_custom.js 10_system.js' "$tmp/layout"
grep -qx 'hidden=20_memory.js' "$tmp/layout"
: >"$tmp/uci.log"
run save \
'70_custom.js,10_system.js,20_memory.js,70_custom.js' \
'20_memory.js'
grep -qx 'set overview-manager.main.order=70_custom.js 10_system.js 20_memory.js' \
"$tmp/uci.log"
grep -qx 'set overview-manager.main.hidden=20_memory.js' "$tmp/uci.log"
grep -qx 'commit overview-manager' "$tmp/uci.log"
if run save '00_overview-manager.js' '' >/dev/null 2>&1; then
printf 'self widget was accepted unexpectedly\n' >&2
exit 1
fi
if run save '99_missing.js' '' >/dev/null 2>&1; then
printf 'missing widget was accepted unexpectedly\n' >&2
exit 1
fi
printf 'runtime tests OK\n'