Create a custom date view for todo.sh tests -- the time is set in TODO_TEST_TIME as seconds since the Unix epoch and a custom wrapper in the testing directory is put at the front of the path to intercept todo.sh calls to date for date formatting. This will only work as long as todo.sh calls $(date) for date formatting. It also assumes a date command that supports the -d flag (such as the one in GNU coreutils.) Add a test for TODOTXT_DATE_ON_ADD to exercise this functionality. Signed-off-by: Emil Sit <sit@emilsit.net>
70 lines
1.4 KiB
Bash
Executable File
70 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test the date on add feature
|
|
|
|
Tests paths by which we might automatically add
|
|
a date to each item.
|
|
'
|
|
. ./test-lib.sh
|
|
|
|
#
|
|
# Add and list
|
|
#
|
|
test_todo_session 'cmd line first day' <<EOF
|
|
>>> todo.sh -t add notice the daisies
|
|
TODO: '2009-02-13 notice the daisies' added on line 1.
|
|
|
|
>>> todo.sh list
|
|
1 2009-02-13 notice the daisies
|
|
--
|
|
TODO: 1 of 1 tasks shown from $HOME/todo.txt
|
|
EOF
|
|
|
|
test_tick
|
|
|
|
test_todo_session 'cmd line second day' <<EOF
|
|
>>> todo.sh -t add smell the roses
|
|
TODO: '2009-02-14 smell the roses' added on line 2.
|
|
|
|
>>> todo.sh list
|
|
1 2009-02-13 notice the daisies
|
|
2 2009-02-14 smell the roses
|
|
--
|
|
TODO: 2 of 2 tasks shown from $HOME/todo.txt
|
|
EOF
|
|
|
|
test_tick
|
|
|
|
test_todo_session 'cmd line third day' <<EOF
|
|
>>> todo.sh -t add mow the lawn
|
|
TODO: '2009-02-15 mow the lawn' added on line 3.
|
|
|
|
>>> todo.sh list
|
|
1 2009-02-13 notice the daisies
|
|
2 2009-02-14 smell the roses
|
|
3 2009-02-15 mow the lawn
|
|
--
|
|
TODO: 3 of 3 tasks shown from $HOME/todo.txt
|
|
EOF
|
|
|
|
# Switch to config file
|
|
echo "export TODOTXT_DATE_ON_ADD=1" >> todo.cfg
|
|
|
|
# Bump the clock, for good measure.
|
|
test_tick 3600
|
|
|
|
test_todo_session 'config file third day' <<EOF
|
|
>>> todo.sh add take out the trash
|
|
TODO: '2009-02-15 take out the trash' added on line 4.
|
|
|
|
>>> todo.sh list
|
|
1 2009-02-13 notice the daisies
|
|
2 2009-02-14 smell the roses
|
|
3 2009-02-15 mow the lawn
|
|
4 2009-02-15 take out the trash
|
|
--
|
|
TODO: 4 of 4 tasks shown from $HOME/todo.txt
|
|
EOF
|
|
|
|
test_done
|