From b72a81a3a4becee8c388b9d110cb650ac26f1ebf Mon Sep 17 00:00:00 2001 From: danix Date: Thu, 11 Jun 2026 09:46:01 +0200 Subject: feat: conf bootstrap + required-key validation Co-Authored-By: Claude Opus 4.8 --- tests/wallp.bats | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests') 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" ] +} -- cgit v1.2.3