From 6cd89beb5ebdc32d09313de2228af0d62119e03e Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 18 Feb 2024 01:36:28 +0000 Subject: [PATCH] chore(lib): remove use of eval --- lib/layout-helpers.sh | 4 +++- test/lib/layout-helpers/__expand_path.test.sh | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/layout-helpers.sh b/lib/layout-helpers.sh index 593e165..68f7ea5 100644 --- a/lib/layout-helpers.sh +++ b/lib/layout-helpers.sh @@ -363,7 +363,9 @@ finalize_and_go_to_session() { # /Users/jimeh/Projects # __expand_path() { - echo $(eval echo "$@") + local path="$1" + path="${path/#\~/$HOME}" + echo "$path" } __get_first_window_index() { diff --git a/test/lib/layout-helpers/__expand_path.test.sh b/test/lib/layout-helpers/__expand_path.test.sh index f94069f..4dd6b83 100755 --- a/test/lib/layout-helpers/__expand_path.test.sh +++ b/test/lib/layout-helpers/__expand_path.test.sh @@ -19,6 +19,12 @@ assert '__expand_path "/path/to/file"' "/path/to/file" # When given a path containing spaces, it returns path correctly. assert '__expand_path "~/Path To/File"' "${HOME}/Path To/File" +# When given a relative path, it returns path as is. +assert '__expand_path "foo/bar"' "foo/bar" + +# When given a relative parent path, it returns path as is. +assert '__expand_path "../foo/bar"' "../foo/bar" + # Tear down. HOME="$realHOME" unset realHOME