From 542095a49b9aaad9fd95ee3ae0e81a075b3e3548 Mon Sep 17 00:00:00 2001 From: The Magician Date: Fri, 8 Dec 2023 17:29:26 +0000 Subject: [PATCH] Add search command --- tests/test_get_command.sh | 21 +++++++++++++++++++-- tests/test_main.sh | 31 +++++++++++++++++++++---------- zk | 4 ++-- 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/tests/test_get_command.sh b/tests/test_get_command.sh index de3b914..9701c50 100644 --- a/tests/test_get_command.sh +++ b/tests/test_get_command.sh @@ -5,11 +5,28 @@ setup() { } test_get_command_returns_list_for_substring() { - commands="list new" expected="list" for arg in l li lis list; do - result="$(get_command "$commands" "$arg")" + result="$(get_command "$ZKCOMMANDS" "$arg")" + assert_equals "$expected" "$result" + done +} + +test_get_command_returns_search_for_substring() { + expected="search" + + for arg in s se sea sear searc search; do + result="$(get_command "$ZKCOMMANDS" "$arg")" + assert_equals "$expected" "$result" + done +} + +test_get_command_returns_new_for_substring() { + expected="new" + + for arg in n ne new; do + result="$(get_command "$ZKCOMMANDS" "$arg")" assert_equals "$expected" "$result" done } diff --git a/tests/test_main.sh b/tests/test_main.sh index 47a785d..93db28b 100644 --- a/tests/test_main.sh +++ b/tests/test_main.sh @@ -4,9 +4,29 @@ setup() { source ../zk } +test_main_calls_list_when_list_command_passed() { + expected="_zk_list" + fake get_command 'echo list' + fake _zk_list "echo $expected" + + result="$(main)" + + assert_equals "$expected" "$result" +} + +test_main_calls_search_when_search_command_passed() { + expected="_zk_search" + fake get_command 'echo search' + fake _zk_search "echo $expected" + + result="$(main)" + + assert_equals "$expected" "$result" +} + test_main_calls_new_when_new_command_passed() { expected="_zk_new" - fake get_commands 'echo new' + fake get_command 'echo new' fake _zk_new "echo $expected" result="$(main)" @@ -14,12 +34,3 @@ test_main_calls_new_when_new_command_passed() { assert_equals "$expected" "$result" } -test_main_calls_list_when_list_command_passed() { - expected="_zk_list" - fake get_commands 'echo list' - fake _zk_list "echo $expected" - - result="$(main)" - - assert_equals "$expected" "$result" -} diff --git a/zk b/zk index 4e58e17..a00d423 100755 --- a/zk +++ b/zk @@ -1,7 +1,7 @@ #!/bin/sh ZKDIR="$HOME/.local/share/zk/" -COMMANDS='list new' +ZKCOMMANDS='list search new' get_command() { commands="$1" @@ -36,7 +36,7 @@ _zk_new() { } main() { - subcommand="$(get_commands "$COMMANDS" "$1")" + subcommand="$(get_command "$ZKCOMMANDS" "$1")" _zk_"$subcommand" }