Before adding any more features to todo_completion, I feel like I need test coverage, so this is a first stab at testing the completion results, via a new test function test_todo_completion. Some basic tests showcase the capabilities. Note: test-lib.sh now uses arrays, therefore all tests must use /bin/bash, not /bin/sh to avoid errors when sourcing test-lib. For consistency with todo.sh, we should have used Bash everywhere, anyway. Also note that t2000-multiline.sh needs some more quoting to avoid "Bash: ambiguous redirect" errors.
41 lines
877 B
Bash
Executable File
41 lines
877 B
Bash
Executable File
#!/bin/bash
|
|
|
|
test_description='todo.sh actions.d
|
|
|
|
This test just makes sure that todo.sh can locate custom actions.
|
|
'
|
|
. ./test-lib.sh
|
|
|
|
# All the below tests will output the custom action message
|
|
cat > expect << EOF
|
|
TODO: foo
|
|
EOF
|
|
|
|
cat > foo << EOF
|
|
echo "TODO: foo"
|
|
EOF
|
|
chmod +x foo
|
|
|
|
test_expect_success 'custom action (default location 1)' '
|
|
mkdir .todo.actions.d
|
|
cp foo .todo.actions.d/
|
|
todo.sh foo > output;
|
|
test_cmp expect output && rm -rf .todo.actions.d
|
|
'
|
|
|
|
test_expect_success 'custom action (default location 2)' '
|
|
mkdir -p .todo/actions
|
|
cp foo .todo/actions/
|
|
todo.sh foo > output;
|
|
test_cmp expect output && rm -rf .todo/actions
|
|
'
|
|
|
|
test_expect_success 'custom action (env variable)' '
|
|
mkdir myactions
|
|
cp foo myactions/
|
|
TODO_ACTIONS_DIR=myactions todo.sh foo > output;
|
|
test_cmp expect output && rm -rf myactions
|
|
'
|
|
|
|
test_done
|