Compare commits
3 Commits
archive/li
...
archive/te
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a3ddad787 | ||
|
|
35f9c4276c | ||
|
|
661dac0cfb |
@@ -55,16 +55,6 @@ test_todo_session 'listcon e-mail address test' <<EOF
|
||||
@con02
|
||||
EOF
|
||||
|
||||
cat > todo.txt <<EOF
|
||||
(B) smell the uppercase Roses +roses @outside +shared
|
||||
(C) notice the sunflowers +sunflowers @garden +shared +landscape
|
||||
stop
|
||||
EOF
|
||||
test_todo_session 'listcon with project' <<EOF
|
||||
>>> todo.sh listcon +landscape
|
||||
@garden
|
||||
EOF
|
||||
|
||||
cat > todo.txt <<EOF
|
||||
@con01 -- Some context 1 task
|
||||
EOF
|
||||
|
||||
@@ -264,25 +264,7 @@ test_expect_success () {
|
||||
test_expect_output () {
|
||||
test "$#" = 2 ||
|
||||
error "bug in the test script: not 2 parameters to test-expect-output"
|
||||
if ! test_skip "$@"
|
||||
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 0 "$@"
|
||||
}
|
||||
|
||||
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"
|
||||
if ! test_skip "$@"
|
||||
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"
|
||||
if [ "$?" = 0 -a "$eval_ret" = "$1" ]
|
||||
then
|
||||
@@ -566,14 +552,16 @@ test_tick () {
|
||||
}
|
||||
|
||||
# Generate and run a series of tests based on a transcript.
|
||||
# Usage: test_todo_session "description" <<EOF
|
||||
# Usage: test_todo_session "description" <<'EOF'
|
||||
# >>> command
|
||||
# output1
|
||||
# output2
|
||||
#
|
||||
# >>> command
|
||||
# === exit status
|
||||
# output3
|
||||
# output4
|
||||
# output3 with empty line (must be escaped here)
|
||||
# \
|
||||
# output5
|
||||
# EOF
|
||||
test_todo_session () {
|
||||
test "$#" = 1 ||
|
||||
@@ -582,7 +570,7 @@ test_todo_session () {
|
||||
cmd=""
|
||||
status=0
|
||||
> expect
|
||||
while read -r line
|
||||
while IFS= read -r line
|
||||
do
|
||||
case $line in
|
||||
">>> "*)
|
||||
@@ -606,6 +594,9 @@ test_todo_session () {
|
||||
> expect
|
||||
fi
|
||||
;;
|
||||
\\)
|
||||
echo "" >> expect
|
||||
;;
|
||||
*)
|
||||
echo "$line" >> expect
|
||||
;;
|
||||
|
||||
33
todo.sh
33
todo.sh
@@ -58,7 +58,7 @@ shorthelp()
|
||||
list|ls [TERM...]
|
||||
listall|lsa [TERM...]
|
||||
listaddons
|
||||
listcon|lsc [TERM...]
|
||||
listcon|lsc
|
||||
listfile|lf [SRC [TERM...]]
|
||||
listpri|lsp [PRIORITIES] [TERM...]
|
||||
listproj|lsprj [TERM...]
|
||||
@@ -223,10 +223,9 @@ help()
|
||||
listaddons
|
||||
Lists all added and overridden actions in the actions directory.
|
||||
|
||||
listcon [TERM...]
|
||||
lsc [TERM...]
|
||||
listcon
|
||||
lsc
|
||||
Lists all the task contexts that start with the @ sign in todo.txt.
|
||||
If TERM specified, considers only tasks that contain TERM(s).
|
||||
|
||||
listfile [SRC [TERM...]]
|
||||
lf [SRC [TERM...]]
|
||||
@@ -246,11 +245,10 @@ help()
|
||||
Hides all tasks that contain TERM(s) preceded by a minus sign
|
||||
(i.e. -TERM).
|
||||
|
||||
listproj [TERM...]
|
||||
lsprj [TERM...]
|
||||
listproj
|
||||
lsprj
|
||||
Lists all the projects (terms that start with a + sign) in
|
||||
todo.txt.
|
||||
If TERM specified, considers only tasks that contain TERM(s).
|
||||
|
||||
move ITEM# DEST [SRC]
|
||||
mv ITEM# DEST [SRC]
|
||||
@@ -860,17 +858,7 @@ _format()
|
||||
fi
|
||||
}
|
||||
|
||||
listWordsWithSigil()
|
||||
{
|
||||
sigil=$1
|
||||
shift
|
||||
|
||||
FILE=$TODO_FILE
|
||||
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
|
||||
eval "$(filtercommand 'cat "${FILE[@]}"' '' "$@")" | grep -o "[^ ]*${sigil}[^ ]\\+" | grep "^$sigil" | sort -u
|
||||
}
|
||||
|
||||
export -f cleaninput getPrefix getTodo getNewtodo shellquote filtercommand _list listWordsWithSigil getPadding _format die
|
||||
export -f cleaninput getPrefix getTodo getNewtodo shellquote filtercommand _list getPadding _format die
|
||||
|
||||
# == HANDLE ACTION ==
|
||||
action=$( printf "%s\n" "$ACTION" | tr 'A-Z' 'a-z' )
|
||||
@@ -1145,13 +1133,16 @@ case $action in
|
||||
;;
|
||||
|
||||
"listcon" | "lsc" )
|
||||
shift
|
||||
listWordsWithSigil '@' "$@"
|
||||
FILE=$TODO_FILE
|
||||
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
|
||||
grep -ho '[^ ]*@[^ ]\+' "${FILE[@]}" | grep '^@' | sort -u
|
||||
;;
|
||||
|
||||
"listproj" | "lsprj" )
|
||||
FILE=$TODO_FILE
|
||||
[ "$TODOTXT_SOURCEVAR" ] && eval "FILE=$TODOTXT_SOURCEVAR"
|
||||
shift
|
||||
listWordsWithSigil '+' "$@"
|
||||
eval "$(filtercommand 'cat "${FILE[@]}"' '' "$@")" | grep -o '[^ ]*+[^ ]\+' | grep '^+' | sort -u
|
||||
;;
|
||||
|
||||
"listpri" | "lsp" )
|
||||
|
||||
Reference in New Issue
Block a user