Tests: Add test for listaddons.
This commit is contained in:
54
tests/t8010-listaddons.sh
Executable file
54
tests/t8010-listaddons.sh
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
test_description='listaddons functionality
|
||||||
|
|
||||||
|
This test checks listing of custom actions.
|
||||||
|
'
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
unset TODO_ACTIONS_DIR
|
||||||
|
mkdir .todo.actions.d
|
||||||
|
make_action()
|
||||||
|
{
|
||||||
|
cat > ".todo.actions.d/$1" <<- EOF
|
||||||
|
#!/bin/bash
|
||||||
|
echo "custom action $1"
|
||||||
|
EOF
|
||||||
|
chmod +x ".todo.actions.d/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_todo_session 'no custom actions' <<EOF
|
||||||
|
>>> todo.sh listaddons
|
||||||
|
EOF
|
||||||
|
|
||||||
|
make_action "foo"
|
||||||
|
test_todo_session 'one custom action' <<EOF
|
||||||
|
>>> todo.sh listaddons
|
||||||
|
foo
|
||||||
|
EOF
|
||||||
|
|
||||||
|
make_action "bar"
|
||||||
|
make_action "ls"
|
||||||
|
make_action "quux"
|
||||||
|
test_todo_session 'multiple custom actions' <<EOF
|
||||||
|
>>> todo.sh listaddons
|
||||||
|
bar
|
||||||
|
foo
|
||||||
|
ls
|
||||||
|
quux
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod -x .todo.actions.d/foo
|
||||||
|
# On Cygwin, clearing the executable flag may have no effect, as the Windows ACL
|
||||||
|
# may still grant execution rights. In this case, we skip the test.
|
||||||
|
if [ -x .todo.actions.d/foo ]; then
|
||||||
|
SKIP_TESTS="${SKIP_TESTS}${SKIP_TESTS+ }t8010.4"
|
||||||
|
fi
|
||||||
|
test_todo_session 'nonexecutable action' <<EOF
|
||||||
|
>>> todo.sh listaddons
|
||||||
|
bar
|
||||||
|
ls
|
||||||
|
quux
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_done
|
||||||
Reference in New Issue
Block a user