]> diplodocus.org Git - nmh/blobdiff - test/repl/test-repl
add documentation on friendly function
[nmh] / test / repl / test-repl
index 0b5b4839f6fa0c3eba5b4e852301fae31df4f82a..2e5bef2c96ff8df08f75c19a97e7477fd9d003c0 100755 (executable)
@@ -19,23 +19,26 @@ fi
 
 setup_test
 
+check_exit '-eq 1' repl -
+
 expected=$MH_TEST_DIR/$$.expected
 actual=$MH_TEST_DIR/Mail/draft
 
 
 # check -help
+start_test -help
 cat >$expected <<EOF
 Usage: repl: [+folder] [msg] [switches]
   switches are:
   -[no]group
   -[no]annotate
-  -cc all|to|cc|me
-  -nocc type
+  -[no]cc all|to|cc|me
   -draftfolder +folder
   -draftmessage msg
   -nodraftfolder
   -editor editor
   -noedit
+  -convertargs type argstring
   -fcc folder
   -filter filterfile
   -form formfile
@@ -55,10 +58,12 @@ Usage: repl: [+folder] [msg] [switches]
   -nofmtproc
 EOF
 
-repl -help >$actual 2>&1
-check $expected $actual
+#### Skip nmh intro text.
+run_prog repl -help 2>&1 | sed '/^$/,$d' >"$actual"
+check "$expected" "$actual"
 
 # check -version
+start_test -version
 case `repl -v` in
   repl\ --*) ;;
   *        ) printf '%s: repl -v generated unexpected output\n' "$0" >&2
@@ -66,47 +71,56 @@ case `repl -v` in
 esac
 
 # check unknown switch
+start_test 'unknown switch'
 run_test "repl -nonexistent" 'repl: -nonexistent unknown'
 
 # check with no switches
+start_test 'with no switches'
 run_test "repl" 'repl: no cur message'
 
 
-printf 'Local-Mailbox: mymailbox@localhost\n' >> $MH
+printf 'Local-Mailbox: mymailbox@localhost\n' >> "$MH"
 
 # check -cc me
+start_test '-cc me'
 cat >$expected <<EOF
 From: mymailbox@localhost
 To: Test1 <test1@example.com>
 cc: mymailbox@localhost
 Fcc: +outbox
 Subject: Re: Testing message 1
+In-reply-to: 1@test.nmh
+References: 1@test.nmh
 Comments: In-reply-to Test1 <test1@example.com>
    message dated "Fri, 29 Sep 2006 00:00:00."
 --------
 EOF
 
-repl -cc me -editor true -nowhatnowproc 1
+run_prog repl -cc me -editor true -nowhatnowproc 1
 check $expected $actual
 
 # check -nocc me
+start_test '-nocc me'
 cat >$expected <<EOF
 From: mymailbox@localhost
 To: Test1 <test1@example.com>
 cc: 
 Fcc: +outbox
 Subject: Re: Testing message 1
+In-reply-to: 1@test.nmh
+References: 1@test.nmh
 Comments: In-reply-to Test1 <test1@example.com>
    message dated "Fri, 29 Sep 2006 00:00:00."
 --------
 EOF
 
-repl -cc me -nocc me -editor true -nowhatnowproc 1
+run_prog repl -cc me -nocc me -editor true -nowhatnowproc 1
 check $expected $actual
 
-# check -cc me with Local- and Alternate-Mailbox addtions, Bug #36635:
+# check -cc me with Local- and Alternate-Mailbox addtions, Bug #36635
+start_test '-cc me with Local- and Alternate-Mailbox addtions, Bug #36635'
 # -nocc me doesn't account for Alternate-Mailboxes.
-printf 'Alternate-Mailboxes: user@example.com\n' >> $MH
+printf 'Alternate-Mailboxes: user@example.com\n' >> "$MH"
 
 cat >$expected <<EOF
 From: mymailbox@localhost
@@ -114,16 +128,19 @@ To: Test1 <test1@example.com>
 cc: mymailbox@localhost
 Fcc: +outbox
 Subject: Re: Testing message 1
+In-reply-to: 1@test.nmh
+References: 1@test.nmh
 Comments: In-reply-to Test1 <test1@example.com>
    message dated "Fri, 29 Sep 2006 00:00:00."
 --------
 EOF
 
-repl -cc me -editor true -nowhatnowproc 1
+run_prog repl -cc me -editor true -nowhatnowproc 1
 check $expected $actual
 
 
-# check -nocc me with Local- and Alternate-Mailbox addtions, Bug #36635:
+# check -nocc me with Local- and Alternate-Mailbox addtions, Bug #36635
+start_test '-nocc me with Local- and Alternate-Mailbox addtions, Bug #36635'
 # -nocc me doesn't account for Alternate-Mailboxes.
 cat >$expected <<EOF
 From: mymailbox@localhost
@@ -131,13 +148,94 @@ To: Test1 <test1@example.com>
 cc: 
 Fcc: +outbox
 Subject: Re: Testing message 1
+In-reply-to: 1@test.nmh
+References: 1@test.nmh
 Comments: In-reply-to Test1 <test1@example.com>
    message dated "Fri, 29 Sep 2006 00:00:00."
 --------
 EOF
 
-repl -cc me -nocc me -editor true -nowhatnowproc 1
+run_prog repl -cc me -nocc me -editor true -nowhatnowproc 1
+check $expected $actual
+
+
+# check quoting of local part of invalid address, Bug #26780
+start_test 'quoting of local part of invalid address, Bug #26780'
+cat >`mhpath new` <<EOF
+From: Test11 <test11@example.com>
+To: before_auser@example.com, A. User <auser@example.com>,
+ after_user@example.com
+Date: Fri, 29 Sep 2006 00:00:11
+Message-Id: 11@test.nmh
+Subject: Testing message 11
+
+This is message number 11
+
+EOF
+
+cat >$expected <<EOF
+From: mymailbox@localhost
+To: Test11 <test11@example.com>
+cc: before_auser@example.com, "A. User" <auser@example.com>,
+    after_user@example.com
+Fcc: +outbox
+Subject: Re: Testing message 11
+In-reply-to: 11@test.nmh
+References: 11@test.nmh
+Comments: In-reply-to Test11 <test11@example.com>
+   message dated "Fri, 29 Sep 2006 00:00:11."
+--------
+EOF
+
+run_prog repl -cc to -editor true -nowhatnowproc 11
 check $expected $actual
 
 
+# check that Fcc: header isn't propagated
+start_test "Fcc: header isn't propagated"
+form="${MH_TEST_DIR}/$$.components"
+cat > $form <<'EOF'
+From: sender@example.com
+%<{from}%(void(width))%(putaddr To: )%>
+Fcc:%<{fcc} %{fcc}%>
+Subject: %<{subject}Re: %(void{subject})%(trim)%(putstr)%>
+--------
+EOF
+cat > $expected <<EOF
+From: sender@example.com
+To: recipient@example.com
+Fcc:
+Subject: Re: suppress Fcc:
+--------
+EOF
+cat > `mhpath new`<<EOF
+From: recipient@example.com
+To: sender@example.com
+Fcc: +mischievous
+Subject: suppress Fcc:
+--------
+EOF
+
+run_prog repl -form "${form}" -nowhatnowproc last
+check "${expected}" "${actual}"
+
+
+# check -fcc with Fcc: in replied-to message
+start_test '-fcc with Fcc: in replied-to message'
+form="${MH_TEST_DIR}/$$.components"
+cat > $expected <<EOF
+From: sender@example.com
+To: recipient@example.com
+Fcc: +myoutbox
+Subject: Re: suppress Fcc:
+--------
+EOF
+
+run_prog repl -fcc +myoutbox -form "${form}" -nowhatnowproc last
+check "${expected}" "${actual}"
+
+test "${failed:-0}" -eq 0 && rm "${form}"
+
+
+finish_test
 exit ${failed:-0}