* fix whitespace * fix spelling * fix whitespace * unify headers of tests * fix some issues in tests, identified by shellcheck * fix bash completions bash completion files are not supposed to be executable * fix some issues identified by shellcheck Co-authored-by: Ali Karbassi <ali@karbassi.com>
104 lines
2.4 KiB
Bash
Executable File
104 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
test_description='basic append functionality
|
|
|
|
Ensure we can append items successfully.
|
|
'
|
|
. ./test-lib.sh
|
|
|
|
#
|
|
# Set up the basic todo.txt
|
|
#
|
|
todo.sh add notice the daisies > /dev/null
|
|
|
|
test_todo_session 'append usage' <<EOF
|
|
>>> todo.sh append adf asdfa
|
|
=== 1
|
|
usage: todo.sh append ITEM# "TEXT TO APPEND"
|
|
EOF
|
|
|
|
test_todo_session 'append error' <<EOF
|
|
>>> todo.sh append 10 "hej!"
|
|
=== 1
|
|
TODO: No task 10.
|
|
EOF
|
|
|
|
test_todo_session 'basic append' <<EOF
|
|
>>> todo.sh append 1 "smell the roses"
|
|
1 notice the daisies smell the roses
|
|
|
|
>>> todo.sh list
|
|
1 notice the daisies smell the roses
|
|
--
|
|
TODO: 1 of 1 tasks shown
|
|
EOF
|
|
|
|
test_todo_session 'basic append with &' <<EOF
|
|
>>> todo.sh append 1 "see the wasps & bees"
|
|
1 notice the daisies smell the roses see the wasps & bees
|
|
|
|
>>> todo.sh list
|
|
1 notice the daisies smell the roses see the wasps & bees
|
|
--
|
|
TODO: 1 of 1 tasks shown
|
|
EOF
|
|
|
|
echo 'jump on hay' > todo.txt
|
|
test_todo_session 'append with spaces' <<EOF
|
|
>>> todo.sh append 1 "and notice the three spaces"
|
|
1 jump on hay and notice the three spaces
|
|
EOF
|
|
|
|
cat > todo.txt <<EOF
|
|
smell the cows
|
|
grow some corn
|
|
thrash some hay
|
|
chase the chickens
|
|
EOF
|
|
test_todo_session 'append with symbols' <<EOF
|
|
>>> todo.sh append 1 "~@#$%^&*()-_=+[{]}|;:',<.>/?"
|
|
1 smell the cows ~@#$%^&*()-_=+[{]}|;:',<.>/?
|
|
|
|
>>> todo.sh append 2 '\`!\\"'
|
|
2 grow some corn \`!\\"
|
|
|
|
>>> todo.sh list
|
|
4 chase the chickens
|
|
2 grow some corn \`!\\"
|
|
1 smell the cows ~@#$%^&*()-_=+[{]}|;:',<.>/?
|
|
3 thrash some hay
|
|
--
|
|
TODO: 4 of 4 tasks shown
|
|
EOF
|
|
|
|
cat > todo.txt <<EOF
|
|
notice the daisies
|
|
EOF
|
|
test_todo_session 'append of current sentence' <<EOF
|
|
>>> todo.sh append 1 ", lilies and roses"
|
|
1 notice the daisies, lilies and roses
|
|
|
|
>>> todo.sh append 1 "; see the wasps"
|
|
1 notice the daisies, lilies and roses; see the wasps
|
|
|
|
>>> todo.sh append 1 "& bees"
|
|
1 notice the daisies, lilies and roses; see the wasps & bees
|
|
EOF
|
|
|
|
cp todo.cfg special-delimiters.cfg
|
|
cat >> special-delimiters.cfg <<EOF
|
|
export SENTENCE_DELIMITERS='*,.:;&'
|
|
EOF
|
|
test_todo_session 'append of current sentence SENTENCE_DELIMITERS' <<EOF
|
|
>>> todo.sh -d special-delimiters.cfg append 1 "&beans"
|
|
1 notice the daisies, lilies and roses; see the wasps & bees&beans
|
|
|
|
>>> todo.sh -d special-delimiters.cfg append 1 "%foo"
|
|
1 notice the daisies, lilies and roses; see the wasps & bees&beans %foo
|
|
|
|
>>> todo.sh -d special-delimiters.cfg append 1 "*2"
|
|
1 notice the daisies, lilies and roses; see the wasps & bees&beans %foo*2
|
|
EOF
|
|
|
|
test_done
|