Compare commits
3 Commits
archive/co
...
archive/te
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a3ddad787 | ||
|
|
35f9c4276c | ||
|
|
661dac0cfb |
@@ -14,7 +14,6 @@ notice the sunflowers +sunflowers @outside @garden +shared +landscape
|
|||||||
(C) 2012-02-28 @outside mow the lawn
|
(C) 2012-02-28 @outside mow the lawn
|
||||||
x 2012-02-21 +herbs @oriental buy spices
|
x 2012-02-21 +herbs @oriental buy spices
|
||||||
x 2012-02-28 2012-02-21 +slack @home watch tv
|
x 2012-02-28 2012-02-21 +slack @home watch tv
|
||||||
2012-02-28 +herbs buy cinnamon @grocer
|
|
||||||
EOF
|
EOF
|
||||||
test_todo_completion 'simple task' 'todo.sh list 1' '"1 # simple task"'
|
test_todo_completion 'simple task' 'todo.sh list 1' '"1 # simple task"'
|
||||||
test_todo_completion 'remove projects and contents from task' 'todo.sh list 2' '"2 # notice the sunflowers"'
|
test_todo_completion 'remove projects and contents from task' 'todo.sh list 2' '"2 # notice the sunflowers"'
|
||||||
@@ -22,6 +21,5 @@ test_todo_completion 'keep priority' 'todo.sh list 3' '"3 # (B) smell the flower
|
|||||||
test_todo_completion 'keep priority and remove timestamp' 'todo.sh list 4' '"4 # (C) mow the lawn"'
|
test_todo_completion 'keep priority and remove timestamp' 'todo.sh list 4' '"4 # (C) mow the lawn"'
|
||||||
test_todo_completion 'keep done marker and remove done date' 'todo.sh list 5' '"5 # x buy spices"'
|
test_todo_completion 'keep done marker and remove done date' 'todo.sh list 5' '"5 # x buy spices"'
|
||||||
test_todo_completion 'keep done marker and remove timestamp and done date' 'todo.sh list 6' '"6 # x watch tv"'
|
test_todo_completion 'keep done marker and remove timestamp and done date' 'todo.sh list 6' '"6 # x watch tv"'
|
||||||
test_todo_completion 'remove add date' 'todo.sh list 7' '"7 # buy cinnamon"'
|
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|||||||
@@ -264,25 +264,7 @@ test_expect_success () {
|
|||||||
test_expect_output () {
|
test_expect_output () {
|
||||||
test "$#" = 2 ||
|
test "$#" = 2 ||
|
||||||
error "bug in the test script: not 2 parameters to test-expect-output"
|
error "bug in the test script: not 2 parameters to test-expect-output"
|
||||||
if ! test_skip "$@"
|
test_expect_code_and_output 0 "$@"
|
||||||
then
|
|
||||||
say >&3 "expecting success and output: $2"
|
|
||||||
test_run_ "$2"
|
|
||||||
if [ "$?" = 0 -a "$eval_ret" = 0 ]
|
|
||||||
then
|
|
||||||
cmp_output=$(test_cmp expect output)
|
|
||||||
if [ "$?" = 0 ]
|
|
||||||
then
|
|
||||||
test_ok_ "$1"
|
|
||||||
else
|
|
||||||
test_failure_ "$@" "
|
|
||||||
$cmp_output"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
test_failure_ "$@"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo >&3 ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
test_expect_code_and_output () {
|
test_expect_code_and_output () {
|
||||||
@@ -290,7 +272,11 @@ test_expect_code_and_output () {
|
|||||||
error "bug in the test script: not 3 parameters to test-expect-code-and-output"
|
error "bug in the test script: not 3 parameters to test-expect-code-and-output"
|
||||||
if ! test_skip "$@"
|
if ! test_skip "$@"
|
||||||
then
|
then
|
||||||
say >&3 "expecting exit code $1 and output: $3"
|
if [ "$1" = 0 ]; then
|
||||||
|
say >&3 "expecting success and output: $3"
|
||||||
|
else
|
||||||
|
say >&3 "expecting exit code $1 and output: $3"
|
||||||
|
fi
|
||||||
test_run_ "$3"
|
test_run_ "$3"
|
||||||
if [ "$?" = 0 -a "$eval_ret" = "$1" ]
|
if [ "$?" = 0 -a "$eval_ret" = "$1" ]
|
||||||
then
|
then
|
||||||
@@ -566,14 +552,16 @@ test_tick () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Generate and run a series of tests based on a transcript.
|
# Generate and run a series of tests based on a transcript.
|
||||||
# Usage: test_todo_session "description" <<EOF
|
# Usage: test_todo_session "description" <<'EOF'
|
||||||
# >>> command
|
# >>> command
|
||||||
# output1
|
# output1
|
||||||
# output2
|
# output2
|
||||||
|
#
|
||||||
# >>> command
|
# >>> command
|
||||||
# === exit status
|
# === exit status
|
||||||
# output3
|
# output3 with empty line (must be escaped here)
|
||||||
# output4
|
# \
|
||||||
|
# output5
|
||||||
# EOF
|
# EOF
|
||||||
test_todo_session () {
|
test_todo_session () {
|
||||||
test "$#" = 1 ||
|
test "$#" = 1 ||
|
||||||
@@ -582,7 +570,7 @@ test_todo_session () {
|
|||||||
cmd=""
|
cmd=""
|
||||||
status=0
|
status=0
|
||||||
> expect
|
> expect
|
||||||
while read -r line
|
while IFS= read -r line
|
||||||
do
|
do
|
||||||
case $line in
|
case $line in
|
||||||
">>> "*)
|
">>> "*)
|
||||||
@@ -606,6 +594,9 @@ test_todo_session () {
|
|||||||
> expect
|
> expect
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
\\)
|
||||||
|
echo "" >> expect
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$line" >> expect
|
echo "$line" >> expect
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ _todo()
|
|||||||
# a safety check of the ls action output.
|
# a safety check of the ls action output.
|
||||||
local todo=$( \
|
local todo=$( \
|
||||||
eval TODOTXT_VERBOSE=0 $_todo_sh '-@ -+ -p -x command ls "^ *${cur} "' | \
|
eval TODOTXT_VERBOSE=0 $_todo_sh '-@ -+ -p -x command ls "^ *${cur} "' | \
|
||||||
sed -e 's/^ *[0-9]\{1,\} //' -e 's/^\((.) \)\{0,1\}[0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} /\1/' \
|
sed -e 's/^ *[0-9]\{1,\} //' -e 's/\((.) \)[0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} /\1/' \
|
||||||
-e 's/^\([xX] \)\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{1,2\}/\1/' \
|
-e 's/\([xX] \)\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{1,2\}/\1/' \
|
||||||
-e 's/[[:space:]]*$//' \
|
-e 's/[[:space:]]*$//' \
|
||||||
-e '1q' \
|
-e '1q' \
|
||||||
)
|
)
|
||||||
@@ -85,9 +85,6 @@ complete -F _todo todo.sh
|
|||||||
# If you define an alias (e.g. "t") to todo.sh, you need to explicitly enable
|
# If you define an alias (e.g. "t") to todo.sh, you need to explicitly enable
|
||||||
# completion for it, too:
|
# completion for it, too:
|
||||||
#complete -F _todo t
|
#complete -F _todo t
|
||||||
# It is recommended to put this line next to your alias definition in your
|
|
||||||
# ~/.bashrc (or wherever else you're defining your alias). If you simply
|
|
||||||
# uncomment it here, you will need to redo this on every todo.txt update!
|
|
||||||
|
|
||||||
# If you have renamed the todo.sh executable, or if it is not accessible through
|
# If you have renamed the todo.sh executable, or if it is not accessible through
|
||||||
# PATH, you need to add and use a wrapper completion function, like this:
|
# PATH, you need to add and use a wrapper completion function, like this:
|
||||||
|
|||||||
Reference in New Issue
Block a user