This fixes a personal annoyance. If the text to be appended to the task begins with one of the delimiter characters, no whitespace is inserted in between. This makes appending to an enumeration (todo.sh add 42 ", foo") syntactically correct. The list of delimiters is configurable (for personal preferences / non-English languages) via SENTENCE_DELIMITERS in the config file.
77 lines
1.8 KiB
Bash
Executable File
77 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
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 '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
|
|
|
|
|
|
test_todo_session 'append error' << EOF
|
|
>>> todo.sh append 10 "hej!"
|
|
=== 1
|
|
10: No such task.
|
|
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
|