]> diplodocus.org Git - nmh/blobdiff - test/dist/test-dist
Use the imperfect snprintf(3) instead of sprintf(3).
[nmh] / test / dist / test-dist
index 190aeeb0db8a71543cdd707a94dd476e7e4a84f3..fa00b4b38dd3a3a3034c7eec14500b694ce7e51e 100755 (executable)
@@ -20,7 +20,7 @@ expected=$MH_TEST_DIR/$$.expected
 expected_err=$MH_TEST_DIR/$$.expected_err
 actual=$MH_TEST_DIR/$$.actual
 actual_err=$MH_TEST_DIR/$$.actual_err
-localmbox=`${MH_LIB_DIR}/ap -format "%(localmbox)" 0 | sed -e 's/^<//; s/>$//;'`
+localmbox=`${MH_LIBEXEC_DIR}/ap -format "%(localmbox)" 0 | sed 's/^<\(.*\)>$/\1/'`
 
 #### Use sendmail/pipe below to override default mts.
 mts_fakesendmail="${MHMTSCONF}-fakesendmail"
@@ -31,7 +31,7 @@ MHMTSCONF="$mts_fakesendmail"
 # arguments: dist switches
 test_dist ()
 {
-  printf 'send\n' | dist "$@" >/dev/null
+  printf 'send\n' | run_prog dist "$@" >/dev/null
 
   # fakesendmail drops the message and any cc's into this mbox.
   mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox
@@ -71,7 +71,8 @@ Usage: dist [+folder] [msg] [switches]
   -[no]atfile
 EOF
 
-dist -help >"$actual" 2>&1
+#### Skip nmh intro text.
+dist -help | sed '/^$/,$d' >"$actual" 2>&1
 check "$expected" "$actual"
 
 # check -version
@@ -247,21 +248,21 @@ EOF
 
   # check -inplace
   # Hard link the message and verify that the new one does get annotated.
-  ln "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
+  ln "${MH_TEST_DIR}/Mail/inbox/9" "${MH_TEST_DIR}/Mail/inbox/9.link"
   cat >"$expected" <<EOF
-From: Test8 <test8@example.com>
+From: Test9 <test9@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
-Message-Id: 8@test.nmh
-Subject: Testing message 8
+Message-Id: 9@test.nmh
+Subject: Testing message 9
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
 Resent-Date:
 
-This is message number 8
+This is message number 9
 EOF
-  test_dist 8 -noedit -to somebody@example.com -annotate -noinplace -inplace
-  check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
+  test_dist 9 -noedit -to somebody@example.com -annotate -noinplace -inplace
+  check "${MH_TEST_DIR}/Mail/inbox/9" "${MH_TEST_DIR}/Mail/inbox/9.link"
 fi
 
 # check -draftfolder
@@ -366,7 +367,7 @@ This is message number 1
 EOF
 
 test_dist 1 -noedit -to somebody@example.com -fcc outbox
-run_test 'scan +outbox -width 6' '   1 '
+run_test 'scan +outbox -width 6' '   1  '
 
 cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
@@ -382,7 +383,28 @@ This is message number 1
 EOF
 
 test_dist +inbox 1 -noedit -to somebody@example.com -fcc +outbox
-run_test 'scan +outbox -width 6 2' '   2 '
+run_test 'scan +outbox -width 6 2' '   2  '
+
+#
+# Check that dist encodes headers using RFC-2047 properly
+#
+
+require_locale en_US.UTF-8 en_US.UTF8 en_US.utf-8 en_US.utf8
+
+cat >"$expected" <<EOF
+From: Test1 <test1@example.com>
+To: Some User <user@example.com>
+Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
+Subject: Testing message 1
+Resent-From: =?UTF-8?Q?Mr_F=C3=B8o_Bar?= <resent-from@example.com>
+Resent-To: =?UTF-8?Q?Mr_Nobod=C3=BF?= <resent-to@example.com>
+Resent-Date:
+
+This is message number 1
+EOF
 
+test_dist +inbox 1 -noedit -from 'Mr Føo Bar <resent-from@example.com>' \
+         -to 'Mr Nobodÿ <resent-to@example.com>' -fcc +outbox
 
 exit ${failed:-0}