From eeb7f983ae3cd7aea8b5994b952cf1055179695b Mon Sep 17 00:00:00 2001 From: The Magician Date: Fri, 8 Dec 2023 16:08:34 +0000 Subject: [PATCH] Add "list" command implementation --- tests/test__zk_list.sh | 37 +++++++++++++++++++++++++++++++++++++ tests/test_main.sh | 25 +++++++++++++++++++++++++ zk | 9 ++++++++- 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 tests/test__zk_list.sh create mode 100644 tests/test_main.sh diff --git a/tests/test__zk_list.sh b/tests/test__zk_list.sh new file mode 100644 index 0000000..eee1801 --- /dev/null +++ b/tests/test__zk_list.sh @@ -0,0 +1,37 @@ +#!/bin/bash +TMP_ZETTELKASTEN="" + +setup() { + source ../zk + + TMP_ZETTELKASTEN="$(mktemp -d)" +} + +teardown() { + rm -rf "$TMP_ZETTELKASTEN" +} + +test__zk_list_outputs_correct_format_with_one_zettel() { + export ZKDIR="$TMP_ZETTELKASTEN" + test_zettel="aaaaaaaaaaaaaa" + echo "# Test Zettel" > "$TMP_ZETTELKASTEN/$test_zettel" + + result="$(_zk_list)" + + expected="$test_zettel | # Test Zettel" + assert_equals "$expected" "$result" +} + +test__zk_list_outputs_correct_format_with_multiple_zettels() { + export ZKDIR="$TMP_ZETTELKASTEN" + test_zettel1="aaaaaaaaaaaaaa" + test_zettel2="bbbbbbbbbbbbbb" + echo "# Test Zettel 1" > "$TMP_ZETTELKASTEN/$test_zettel1" + echo "# Test Zettel 2" > "$TMP_ZETTELKASTEN/$test_zettel2" + + result="$(_zk_list)" + + expected="$test_zettel1 | # Test Zettel 1 +$test_zettel2 | # Test Zettel 2" + assert_equals "$expected" "$result" +} diff --git a/tests/test_main.sh b/tests/test_main.sh new file mode 100644 index 0000000..47a785d --- /dev/null +++ b/tests/test_main.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +setup() { + source ../zk +} + +test_main_calls_new_when_new_command_passed() { + expected="_zk_new" + fake get_commands 'echo new' + fake _zk_new "echo $expected" + + result="$(main)" + + 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 d426d9d..4efa728 100755 --- a/zk +++ b/zk @@ -1,5 +1,6 @@ #!/bin/sh +ZKDIR="$HOME/.local/share/zk/" COMMANDS='list new delete' get_command() { @@ -13,9 +14,15 @@ get_command() { done } +_zk_list() { + for zettel in "$ZKDIR"/*; do + echo "$(basename "$zettel") | $(head -1 "$zettel")" + done +} + main() { subcommand="$(get_commands "$COMMANDS" "$1")" - echo "$subcommand" + _zk_"$subcommand" } name="$(basename "$0")"