X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/80b2767e802566662044eee232384b1f95dc6b61..d247f1cf67f3e579ccddfa986c603dd91880cbe7:/test/pick/test-pick diff --git a/test/pick/test-pick b/test/pick/test-pick index 2396811b..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,39 +82,42 @@ 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 -cat >$expected </dev/null 2>"$actual" +cat >"$expected" <$actual 2>/dev/null` >/dev/null -cat >$expected <"$actual" 2>/dev/null` \ + >/dev/null +cat >"$expected" <&2-` >$actual -cat >$expected </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. + run_prog pick -subject message.3 -and -from Test4 >/dev/tty 2>/dev/null +fi # Also, check that the exit status is 1. -set +e -pick -subject message.3 -and -from Test4 2>/dev/null +run_prog pick -subject message.3 -and -from Test4 >/dev/null 2>&1 run_test "echo $?" '1' + set -e # Test -cc. @@ -133,52 +142,58 @@ 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 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <"$MH_TEST_DIR/Mail/inbox/12" < +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 12@test.nmh +Subject: multi-line + header field + +This is message number 12 +EOF + +echo 12 >"$expected" + +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