zk/tests/test_get_command.sh

63 lines
1.2 KiB
Bash

#!/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_does_not_return_match_unless_at_start_of_command_string() {
commands="delete"
expected=""
result="$(get_command "$commands" "l")"
assert_equals "$expected" "$result"
}