--- /dev/null
+#!/bin/sh
+#
+# Tests to see if bursting MIME messages works correctly.
+#
+
+. "$MH_TEST_COMMON"
+
+#
+# Create a one-part test message that we can burst
+#
+
+msgpath="`mhpath b`"
+msgnum="${msgpath##*/}"
+
+cat >"$msgpath" <<EOF
+From: Test Burst Message <burst1@example.com>
+To: Test Recipient <recipient@example.com>
+Date: Friday, 29 Sep 2006 00:00:00
+Subject: Test MIME digest
+MIME-Version: 1.0
+Content-type: message/rfc822
+
+From: Mister Burster <burst2@example.com>
+To: Nobody 1 <nobody1@example.com>
+Date: Thursday, 28 Sep 2006 00:01:00
+Subject: Message one
+
+- - This line should not be unstuffed
+
+EOF
+
+runandcheck "burst $msgnum" <<!
+burst: message 11 not in digest format, continuing...
+!
+
+runandcheck "scan $msgnum-l" <<!
+ 11 2006-09-29 00:00 Test Burst Messag Test MIME digest
+!
+
+#
+# Create another test message that does multipart/digest checking
+#
+
+msgpath="`mhpath b`"
+msgnum="${msgpath##*/}"
+
+cat > "$msgpath" <<EOF
+From: Test Burst Message <burst1@example.com>
+To: Test Recipient <recipient@example.com>
+Date: Friday, 29 Sep 2006 00:00:00
+Subject: Test digest
+MIME-Version: 1.0
+Content-Type: multipart/digest; boundary="----- =_aaaaaaaaaa0"
+
+This is a preamble
+
+------- =_aaaaaaaaaa0
+
+Content-Type: message/rfc822
+
+From: Mister Burster <burst2@example.com>
+To: Nobody 1 <nobody1@example.com>
+Date: Thursday, 28 Sep 2006 00:01:00
+Subject: Message one
+
+- -This is message one
+
+------- =_aaaaaaaaaa0
+
+From: Mister Burster <burst3@example.com>
+To: Nobody 2 <nobody2@example.com>
+Date: Thursday, 28 Sep 2006 00:02:00
+Subject: Message two
+
+This is message two
+- For real.
+
+------- =_aaaaaaaaaa0
+
+From: Mister Burster <burst4@example.com>
+To: Nobody 3 <nobody3@example.com>
+Date: Thursday, 28 Sep 2006 00:03:00
+Subject: Message three
+
+Will this one work?
+
+------- =_aaaaaaaaaa0--
+
+EOF
+
+runandcheck "burst $msgnum" <<!
+!
+
+runandcheck "scan $msgnum-l" <<!
+ 12 2006-09-29 00:00 Test Burst Messag Test digest
+ 13+ `date +'%Y-%m-%d %H:%M'`
+ 14 2006-09-28 00:02 Mister Burster Message two
+ 15 2006-09-28 00:03 Mister Burster Message three
+!
+
+#
+# Check to see if each message is what we expect
+#
+
+folder -fast "$msgnum" >/dev/null
+
+runandcheck "next" <<!
+
+part message/rfc822 157
+Date: Thu, 28 Sep 2006 00:01:00
+From: Mister Burster <burst2@example.com>
+To: Nobody 1 <nobody1@example.com>
+Subject: Message one
+
+part text/plain 21
+-This is message one
+!
+
+runandcheck "next" <<!
+Date: Thu, 28 Sep 2006 00:02:00
+From: Mister Burster <burst3@example.com>
+To: Nobody 2 <nobody2@example.com>
+Subject: Message two
+
+part text/plain 30
+This is message two
+For real.
+!
+
+#
+# The CR/LF that appears right before the boundary line is considered part
+# of the boundary line, so this has the practical effect of "eating" a
+# blank line if it's before the boundary (RFC 2046. 5.1.1). So make sure
+# a double blank line results in only one blank line at the end of a message.
+#
+
+runandcheck "next" <<!
+Date: Thu, 28 Sep 2006 00:03:00
+From: Mister Burster <burst4@example.com>
+To: Nobody 3 <nobody3@example.com>
+Subject: Message three
+
+part text/plain 20
+Will this one work?
+!