#!/bin/bash setup() { source ../zk } test_get_command_returns_empty_if_no_input_given() { result="$(get_command "$ZKCOMMANDS" "")" assert_equals "" "$result" } test_get_command_returns_empty_if_unrecognized_input_given() { result="$(get_command "$ZKCOMMANDS" "lkjdsaas")" assert_equals "" "$result" } test_get_command_returns_list_for_substring() { expected="list" for arg in l li lis list; do 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 } test_get_command_returns_edit_for_substring() { expected="edit" for arg in e ed edi edit; do result="$(get_command "$ZKCOMMANDS" "$arg")" assert_equals "$expected" "$result" done } test_get_command_returns_edit_for_substring() { expected="rm" for arg in r rm; do result="$(get_command "$ZKCOMMANDS" "$arg")" assert_equals "$expected" "$result" done } test_get_command_does_not_return_match_unless_at_start_of_command_string() { commands="delete" expected="" result="$(get_command "$commands" "l")" assert_equals "$expected" "$result" }