]> diplodocus.org Git - nmh/blobdiff - test/mhlist/test-mhlist
Remove ./configure's --enable-debug support; it did nothing.
[nmh] / test / mhlist / test-mhlist
index ad0fb4bb941b5313a251dab8d7510c21574067ce..e5fc895c023dec8ac40a3653dcc50025e0a1216c 100755 (executable)
@@ -29,26 +29,26 @@ cat > $expected <<EOF
  msg part  type/subtype              size description
    5       text/plain                  25
 EOF
-mhlist > $actual 2>&1
+run_prog mhlist > $actual 2>&1
 check $expected $actual 'keep first'
 
 # check -noheaders
 run_test 'mhlist 5 -noheaders' '   5       text/plain                  25'
 
 # check -headers
-mhlist -noheaders -headers > $actual 2>&1
+run_prog mhlist -noheaders -headers > $actual 2>&1
 check $expected $actual 'keep first'
 
 # check with folder and current message
-mhlist +inbox > $actual 2>&1
+run_prog mhlist +inbox > $actual 2>&1
 check $expected $actual 'keep first'
 
 # check with specified message
-mhlist 5 > $actual 2>&1
+run_prog mhlist 5 > $actual 2>&1
 check $expected $actual 'keep first'
 
 # check -file
-mhlist -file "$MH_TEST_DIR/Mail/inbox/5" > $actual 2>&1
+run_prog mhlist -file "$MH_TEST_DIR/Mail/inbox/5" > $actual 2>&1
 check $expected $actual
 
 # check -file -
@@ -56,7 +56,7 @@ cat > $expected <<EOF
  msg part  type/subtype              size description
    0       text/plain                  25
 EOF
-mhlist -file - < "$MH_TEST_DIR/Mail/inbox/5" > $actual 2>&1
+run_prog mhlist -file - < "$MH_TEST_DIR/Mail/inbox/5" > $actual 2>&1
 check $expected $actual
 
 # check message number greater than highest
@@ -68,7 +68,7 @@ cat > $expected <<EOF
    2       text/plain                  25
    8       text/plain                  25
 EOF
-mhlist 2 8 > $actual 2>&1
+run_prog mhlist 2 8 > $actual 2>&1
 check $expected $actual
 
 # Write message with a text/plain subpart.
@@ -210,4 +210,304 @@ mhlist -nochangecur 1 >/dev/null
 
 run_test 'mark -sequence cur -list' 'cur: 11'
 
+# check MIME parser and m_getfld
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  12       multipart/related          204
+     1     multipart/alternative       74
+     1.1   text/plain                  17
+     2     text/plain                  17
+EOF
+
+msgfile=`mhpath new`
+msgnum=`basename $msgfile`
+cat > $msgfile <<EOF
+To: recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    recipient@example.com, recipient@example.com, recipient@example.com,
+    re@example.com
+From: sender@example.com
+Subject: very long header
+Date: Wed, 4 Dec 2013 21:12:00 -0500
+MIME-Version: 1.0
+Content-Type: multipart/related; boundary="1"
+
+--1
+Content-Type: multipart/alternative; boundary="2"
+
+--2
+Content-Type: text/plain; charset="us-ascii"
+
+This is part 1.
+
+
+--2--
+
+--1
+Content-Type: text/plain; charset="us-ascii"
+
+This is part 2.
+
+
+--1--
+EOF
+
+run_prog mhlist last > $actual 2>&1
+check $expected $actual
+
+##  now check mhlist output
+
+msgfile=`mhpath new`
+msgnum=`basename $msgfile`
+cat > $msgfile <<EOF
+To: example@example.org
+From: someone <someone@example.com>
+Subject: mhlist test
+Date: Thu, 29 Jan 2015 18:12:21 +0000 (GMT)
+Content-Type: multipart/mixed; boundary="BoundaryMixed"
+
+--BoundaryMixed
+Content-type: multipart/alternative;
+ boundary="BoundaryAlternative1"
+
+--BoundaryAlternative1
+Content-type: text/enriched; CHARSET=US-ASCII
+Content-transfer-encoding: 7bit
+
+This is supposedly enriched.
+
+--BoundaryAlternative1
+Content-type: text/plain; charset=ISO-8859-1; format=flowed
+Content-transfer-encoding: 8bit
+
+This is the body text/plain part.
+
+--BoundaryAlternative1
+Content-type: text/html; CHARSET=US-ASCII
+Content-transfer-encoding: 7bit
+
+<html><body><div><span style="line-height: 1.5;">
+This is the text/html body part.
+</span></div></body></html>
+
+--BoundaryAlternative1--
+
+--BoundaryMixed
+Content-type: multipart/alternative;
+ boundary="BoundaryAlternative2"
+
+--BoundaryAlternative2
+Content-type: audio/wav
+Content-transfer-encoding: 8bit
+
+pretend wav audio
+
+--BoundaryAlternative2
+Content-type: audio/mp3
+Content-transfer-encoding: 8bit
+
+pretend mp3 audio
+
+--BoundaryAlternative2
+Content-type: audio/basic
+Content-transfer-encoding: 8bit
+
+pretend basic audio
+
+--BoundaryAlternative2--
+
+--BoundaryMixed--
+EOF
+
+# Write the expected output.
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  13       multipart/mixed           1038
+     1     multipart/alternative      518
+     1.1   text/html                  111
+     1.2   text/plain                  34
+     1.3   text/enriched               29
+     2     multipart/alternative      326
+     2.1   audio/basic                 20
+     2.2   audio/mp3                   18
+     2.3   audio/wav                   18
+EOF
+
+# check it -- vanilla output
+run_prog mhlist $msgnum > $actual 2>&1
+check "$expected" "$actual"
+
+# Write the expected output.
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  13       multipart/mixed           1038
+     1     multipart/alternative      518
+     1.1   text/html                  111
+     1.2   text/plain                  34
+     1.3   text/enriched               29
+     2     multipart/alternative      326
+EOF
+
+# check it -- just part 1
+run_prog mhlist -part 1 $msgnum > $actual 2>&1
+check "$expected" "$actual"
+
+# Write the expected output.
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  13       multipart/mixed           1038
+     1     multipart/alternative      518
+     2     multipart/alternative      326
+EOF
+
+# check it -- ask for audio/basic in part 1, should get nothing
+run_prog mhlist -part 1 -type audio/basic $msgnum > $actual 2>&1
+check "$expected" "$actual"
+
+# Write the expected output.
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  13       multipart/mixed           1038
+     1     multipart/alternative      518
+     1.1   text/plain                  34
+     1.2   text/html                  111
+     1.3   text/enriched               29
+     2     multipart/alternative      326
+     2.1   audio/wav                   18
+     2.2   audio/basic                 20
+     2.3   audio/mp3                   18
+EOF
+
+# check it -- bump plain and wav to the top of their parts
+run_prog mhlist -prefer text/plain -prefer audio/wav $msgnum > $actual 2>&1
+check "$expected" "$actual"
+
+# Write the expected output.
+cat > $expected <<EOF
+ msg part  type/subtype              size description
+  13       multipart/mixed           1038
+     1     multipart/alternative      518
+     1.1   text/plain                  34
+     1.2   text/enriched               29
+     1.3   text/html                  111
+     2     multipart/alternative      326
+     2.1   audio/basic                 20
+     2.2   audio/mp3                   18
+     2.3   audio/wav                   18
+EOF
+
+# check it -- bump plain and enriched to the top.  add a bogus type as well.
+run_prog mhlist -prefer foo/bar -prefer text/plain -prefer text/enriched $msgnum > $actual 2>&1
+check "$expected" "$actual"
+
+
 exit $failed