From c20cfb9423a48ca4ded7e6b7b3cd014a60499e33 Mon Sep 17 00:00:00 2001 From: danix Date: Thu, 11 Jun 2026 09:47:08 +0200 Subject: feat: theme resolution + persistence Co-Authored-By: Claude Opus 4.8 --- tests/wallp.bats | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests/wallp.bats') diff --git a/tests/wallp.bats b/tests/wallp.bats index 298067f..0ffed89 100644 --- a/tests/wallp.bats +++ b/tests/wallp.bats @@ -80,3 +80,28 @@ teardown() { [ "$?" -eq 0 ] [ "$CONF_THEME" = "sexy-splurge" ] } + +@test "resolve_theme flag wins over all" { + CONF_THEME="conf"; mkdir -p "$HOME/.config/wallp" + echo persisted > "$HOME/.config/wallp/theme" + run resolve_theme flagged + [ "$output" = "flagged" ] +} + +@test "resolve_theme persisted beats conf" { + CONF_THEME="conf"; mkdir -p "$HOME/.config/wallp" + echo persisted > "$HOME/.config/wallp/theme" + run resolve_theme '' + [ "$output" = "persisted" ] +} + +@test "resolve_theme uses conf when no persisted" { + CONF_THEME="conf" + run resolve_theme '' + [ "$output" = "conf" ] +} + +@test "persist_theme writes the file" { + persist_theme "abc" + [ "$(cat "$HOME/.config/wallp/theme")" = "abc" ] +} -- cgit v1.2.3