aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wallp.bats
diff options
context:
space:
mode:
authordanix <danix@danix.xyz>2026-06-11 09:46:01 +0200
committerdanix <danix@danix.xyz>2026-06-11 09:46:01 +0200
commitb72a81a3a4becee8c388b9d110cb650ac26f1ebf (patch)
treed46fd150b1d127d676ce62528730c9ab0c127daa /tests/wallp.bats
parent5d5da3a1b50eedb3c30aa209eb24aa7f579dc701 (diff)
downloadwallp-b72a81a3a4becee8c388b9d110cb650ac26f1ebf.tar.gz
wallp-b72a81a3a4becee8c388b9d110cb650ac26f1ebf.zip
feat: conf bootstrap + required-key validation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'tests/wallp.bats')
-rw-r--r--tests/wallp.bats26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/wallp.bats b/tests/wallp.bats
index 3445ddb..298067f 100644
--- a/tests/wallp.bats
+++ b/tests/wallp.bats
@@ -54,3 +54,29 @@ teardown() {
[ "$CONF_DEFAULT_H" = "$HOME/p/h.png" ]
[ "$CONF_DEFAULT_V" = "/abs/v.png" ]
}
+
+@test "load_conf bootstraps template when conf missing" {
+ run load_conf
+ [ "$status" -eq 10 ]
+ [ -f "$HOME/.config/wallp/wallp.conf" ]
+ [[ "$output" == *"fill it in"* ]]
+}
+
+@test "load_conf hard-errors on missing required key" {
+ mkdir -p "$HOME/.config/wallp"
+ printf '%s\n' 'OUTPUT_H=DP-1' 'OUTPUT_V=DP-3' 'DEFAULT_H=/a.png' \
+ > "$HOME/.config/wallp/wallp.conf"
+ run load_conf
+ [ "$status" -eq 1 ]
+ [[ "$output" == *"DEFAULT_V"* ]]
+}
+
+@test "load_conf ok with THEME fallback" {
+ mkdir -p "$HOME/.config/wallp"
+ printf '%s\n' 'OUTPUT_H=DP-1' 'OUTPUT_V=DP-3' \
+ 'DEFAULT_H=/a.png' 'DEFAULT_V=/b.png' \
+ > "$HOME/.config/wallp/wallp.conf"
+ load_conf
+ [ "$?" -eq 0 ]
+ [ "$CONF_THEME" = "sexy-splurge" ]
+}