Rework in the test framework; updated and new tests
[mmh] / test / tests / mhbuild / test-header-encode
index 422f970..047f7dc 100644 (file)
@@ -5,39 +5,25 @@
 #
 ######################################################
 
-# TODO: Move to a common file tests can source; need more framework...
-failed=0
+. "$MH_TEST_COMMON"
+
+draft="$MH_TEST_DIR/mhbuild-$$.draft"
 export MM_CHARSET=UTF-8
-check() {
-    diff -u $expected $actual
-    if [ $? -ne 0 ]; then
-        failed=$((failed + 1))
-    fi
-}
-
-# Make a draft file forwarding two messages.
-mkdraft() {
-    cat > $draft <<EOF
+
+# Subject
+
+cat >"$draft" <<!
 From: Mr Foo Bar <foobar@example.com>
 To: Somebody <somebody@example.com>
 Subject: This is ä test
 
 This is a test
-EOF
-}
-
-# Munge the Content-Id from the draft after mhbuild, so we have a reliable
-# value to check.
-mungedraft() {
-    sed 's/\(Content-ID:\) <[^>][^>]*>/\1 <TESTID>/' $draft > $actual
-}
+!
 
-draft=$MH_TEST_DIR/$$.draft
-expected=$MH_TEST_DIR/$$.expected
-actual=$MH_TEST_DIR/$$.actual
+runandcheck 'mhbuild "$draft"' <<!
+!
 
-# check mhbuild
-cat > $expected <<EOF
+runandcheck 'sed "/^Content-ID:/s/:.*/: <TESTID>/" "$draft"' <<!
 From: Mr Foo Bar <foobar@example.com>
 To: Somebody <somebody@example.com>
 Subject: =?UTF-8?Q?This_is_=C3=A4_test?=
@@ -46,10 +32,29 @@ Content-Type: text/plain; charset="us-ascii"
 Content-ID: <TESTID>
 
 This is a test
-EOF
-mkdraft
-mhbuild $draft
-mungedraft
-check
+!
 
-exit $failed
+
+# To + From
+
+cat >"$draft" <<!
+From: Jürgen <juergen@example.com>
+To: Gönül <goenuel@example.com>
+Subject: Names with Umlauts
+
+This is a test
+!
+
+runandcheck 'mhbuild "$draft"' <<!
+!
+
+runandcheck 'sed "/^Content-ID:/s/:.*/: <TESTID>/" "$draft"' <<!
+From: =?UTF-8?Q?J=C3=BCrgen?= <juergen@example.com>
+To: =?UTF-8?Q?G=C3=B6n=C3=BCl?= <goenuel@example.com>
+Subject: Names with Umlauts
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-ID: <TESTID>
+
+This is a test
+!