#!/bin/bash setup() { source ../zk } test__zk_edit_uses_filename_when_passed_as_parameter() { # shellcheck disable=SC2016 fake vi 'echo vi "${FAKE_PARAMS[@]}"' export EDITOR="" zettel_name="11111111111111" expected="vi $ZKDIR/$zettel_name" result="$(_zk_edit $zettel_name)" assert_equals "$expected" "$result" } test__zk_edit_uses__zk_search_when_filename_not_passed_as_parameter() { export EDITOR="" zettel_name="11111111111111" expected="vi $ZKDIR/$zettel_name" # shellcheck disable=SC2016 fake vi 'echo vi "${FAKE_PARAMS[@]}"' fake _zk_search echo "$zettel_name" result="$(_zk_edit)" assert_equals "$expected" "$result" } test__zk_edit_runs_EDITOR_if_EDITOR_is_set() { export EDITOR="nano" # shellcheck disable=SC2016 fake "$EDITOR" echo '$EDITOR ${FAKE_PARAMS[@]}' fake vi cat filename="11111111111111" expected="$EDITOR $ZKDIR/$filename" result="$(_zk_edit $filename)" assert_equals "$expected" "$result" } test__zk_new_runs_vi_if_EDITOR_is_not_set() { export EDITOR="" # shellcheck disable=SC2016 fake vi echo 'vi ${FAKE_PARAMS[@]}' export ZKDIR="$TMP_ZETTELKASTEN" filename="11111111111111" fake date "echo $filename" expected="vi $TMP_ZETTELKASTEN/$filename" result="$(_zk_edit $filename)" assert_equals "$expected" "$result" }