From 104ec07c142ac74e68ee2d72df662a0adcd5b9c5 Mon Sep 17 00:00:00 2001 From: danix Date: Thu, 11 Jun 2026 09:43:47 +0200 Subject: feat: expand_tilde helper Co-Authored-By: Claude Opus 4.8 --- tests/wallp.bats | 11 +++++++++++ wallp | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/tests/wallp.bats b/tests/wallp.bats index b92b3c2..1307eeb 100644 --- a/tests/wallp.bats +++ b/tests/wallp.bats @@ -26,3 +26,14 @@ teardown() { @test "harness sanity" { [ "x" = "x" ] } + +@test "expand_tilde expands leading tilde" { + run expand_tilde '~/pics/a.png' + [ "$status" -eq 0 ] + [ "$output" = "$HOME/pics/a.png" ] +} + +@test "expand_tilde leaves absolute path untouched" { + run expand_tilde '/abs/b.png' + [ "$output" = "/abs/b.png" ] +} diff --git a/wallp b/wallp index 2e3ef7b..31680f4 100644 --- a/wallp +++ b/wallp @@ -3,6 +3,15 @@ set -u +# Expand a leading ~ or ~/ to $HOME. Leaves other paths unchanged. +expand_tilde() { + case "$1" in + "~") printf '%s\n' "$HOME" ;; + "~/"*) printf '%s\n' "$HOME/${1#\~/}" ;; + *) printf '%s\n' "$1" ;; + esac +} + main() { return 0 } -- cgit v1.2.3