# check with no options and current message
folder +inbox 5 > /dev/null
cat > $expected <<EOF
- msg part type/subtype size description
+ 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 -
cat > $expected <<EOF
- msg part type/subtype size description
+ 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
# check multiple messages
cat > $expected <<EOF
- msg part type/subtype size description
+ msg part type/subtype size description
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.
-msgfile=$(mhpath new)
+msgfile=`mhpath new`
cat > $msgfile <<EOF
To: recipient@example.com
From: sender@example.com
This is the second text/plain part.
------- =_aaaaaaaaaa0
-Content-Type: text/plain; charset="iso-8859-1"
+Content-Type: text/plain; charset="iso-8859-1"; name="test3"
Content-Disposition: attachment; filename="test3"
This is the third text/plain part.
# check -part
run_test 'mhlist last -part 3 -noheader' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
3 text/plain 35'
# check -part of a subpart
run_test 'mhlist last -part 1.1 -noheader' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
1.1 text/plain 49'
# check -type
run_test 'mhlist last -type text/plain -noheader' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
1.1 text/plain 49
2 text/plain 36
# check -norealsize
run_test 'mhlist last -part 4 -noheader -norealsize' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
4 text/plain 49'
# check -realsize, the default
run_test 'mhlist last -part 4 -noheader -norealsize -realsize' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
4 text/plain 36'
# check -check
run_test 'mhlist last -part 2 -noheader -check' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
2 text/plain 36'
sed 's/\(Content-MD5: \)kq+Hnc/\1BADBAD/' $msgfile > $MH_TEST_DIR/$$.tmp
mv -f $MH_TEST_DIR/$$.tmp $msgfile
run_test 'mhlist last -part 2 -noheader -check' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
2 text/plain 36
mhlist: content integrity suspect (digest mismatch) -- continuing
# check -nocheck, the default
run_test 'mhlist last -part 2 -noheader -check -nocheck' \
-' 11 multipart/mixed 922
+' 11 multipart/mixed 936
1 multipart/related 180
2 text/plain 36'
+#
+# Set the cur sequence to 1 to test default behavior of changecur after
+# this test.
+#
+
+mark 1 -sequence cur -add -zero
+
+# check -verbose
+run_test 'mhlist 11 -verbose -noheader' \
+' 11 multipart/mixed 936
+ boundary="----- =_aaaaaaaaaa0"
+ 1 multipart/related 180
+ type="multipart/alternative"
+ boundary="subpart__1.1"
+ 1.1 text/plain 49
+ charset="iso-8859-1"
+ 2 text/plain 36
+ charset="iso-8859-1"
+ 3 text/plain 35
+ charset="iso-8859-1"
+ name="test3"
+ 4 text/plain 36
+ charset="iso-8859-1"'
+
+#
+# Check default changecur behavior
+#
+
+run_test 'mark -sequence cur -list' 'cur: 11'
+
+#
+# Now test -nochangecur
+#
+
+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`
+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
+
+
exit $failed