X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/706236baa4c4670b5a074092dec5dec63ff50663..1dcc90e73715f6fd65f22ff7a1dad9c646c7d60d:/test/pick/test-pick diff --git a/test/pick/test-pick b/test/pick/test-pick index 84eb18cd..6ec67d92 100755 --- a/test/pick/test-pick +++ b/test/pick/test-pick @@ -49,6 +49,12 @@ run_test 'pick -not -subject message.8 last:5' '7 10 11' +# Test -reverse. +run_test 'pick -reverse -not -subject message.8 last:5' '11 +10 +9 +7' + # Test -lbrace, -rbrace. run_test 'pick -subject message.12 -and -subject message.3 -or -from Test4' '4' run_test 'pick -subject message.12 -and -lbrace -subject message.3 -rbrace' \ @@ -76,9 +82,9 @@ run_test 'pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace' \ 10 11' -# Test MHPDEBUG. -MHPDEBUG=1 pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace \ - >/dev/null 2>"$actual" +# Test -debug. +run_prog pick -debug -not -lbrace -subject NoMatch -and -subject message.3 \ + -rbrace >/dev/null 2>"$actual" cat >"$expected" <"$actual" 2>/dev/null` \ +echo \ + `run_prog pick -subject message.3 -and -from Test4 >"$actual" 2>/dev/null` \ >/dev/null cat >"$expected" </dev/tty; then +if test -t 1 && (printf '' >/dev/tty) 2>/dev/null; then # Produce no standard output if no messages match and standard # output is a tty. To test that even when run with stdout # detached, write directly to /dev/tty. Can't capture the # output so hopefully the user will notice it. - pick -subject message.3 -and -from Test4 >/dev/tty 2>/dev/null -else - echo "$0: skip tty test because can't write to /dev/tty" + run_prog pick -subject message.3 -and -from Test4 >/dev/tty 2>/dev/null fi # Also, check that the exit status is 1. -pick -subject message.3 -and -from Test4 >/dev/null 2>&1 +run_prog pick -subject message.3 -and -from Test4 >/dev/null 2>&1 run_test "echo $?" '1' set -e @@ -137,7 +142,7 @@ run_test 'pick -to some -nolist' '11 hits' run_test 'pick -to user@example.com -nolist' '11 hits' # Test -after. -pick -after '28 Sep 2008 00:00:00' >"$actual" 2>&1 +run_prog pick -after '28 Sep 2008 00:00:00' >"$actual" 2>&1 cat >"$expected" <"$actual" 2>/dev/null +run_prog pick -after '29 Sep 2008 00:00:00' >"$actual" 2>/dev/null set -e cat >"$expected" <"$actual" 2>&1 +run_prog pick -before '29 Sep 2008 00:00:01' last:3 >"$actual" 2>&1 cat >"$expected" <"$actual" 2>&1 +run_prog pick -before '28 Sep 2008 00:00:00:' last:3 >"$actual" 2>&1 cat >"$expected" <"$actual" 2>/dev/null +run_prog pick -before '28 Sep 2006 00:00:00' last:3 >"$actual" 2>/dev/null set -e cat >"$expected" <"$actual" 2>/dev/null +run_prog pick -datefield date -after '29 Sep 2008 00:00:00' \ + >"$actual" 2>/dev/null set -e cat >"$expected" <"$actual" 2>&1 +run_prog pick -datefield delivery-date -after '29 Sep 2008 00:00:00' \ + >"$actual" 2>&1 cat >"$expected" <"$expected" -pick -subject 'multi-line header field' 12 >"$actual" 2>&1 +run_prog pick -subject 'multi-line header field' 12 >"$actual" 2>&1 check "$expected" "$actual" +# Test MIME-encoded header. +cat >"$MH_TEST_DIR/Mail/inbox/13" < +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 13@test.nmh +Subject: =?us-ascii?q?=66=6f=6f?= + =?utf-8?q?=62=61=72?= + +This is message number 13, with MIME-encoded Subject "foobar". +EOF + +echo 13 >"$expected" + +set +e + +require_locale en_US.UTF-8 en_US.UTF8 en_US.utf-8 en_US.utf8 +# Don't use run_prog here because it loses the environment setting. +pick -subject foobar 13 >"$actual" 2>&1 +set -e +check "$expected" "$actual" + +# Test -nosequence. +run_test 'pick +inbox 5 7 9 11 -sequence test -nosequence' '5 +7 +9 +11' +run_test 'mark -list -sequence test' 'test: ' + exit $failed