Add test and fixup for last mod

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37673 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2014-02-03 10:23:41 +00:00
parent 5f03a0bfa2
commit 0e694147f0
3 changed files with 69 additions and 3 deletions

View file

@ -3103,9 +3103,15 @@ unfold(const unsigned char *src, const unsigned char *end, BOOL *folded)
return hdr;
}
/* Folded line ... add space at fold and continue parsing.
* NB Space is ignored between encoded words; don't reset flag.
*/
[hdr appendString: @" "];
if (1 == flags.encodedWord)
{
/* NB Space is ignored between encoded words;
* count expected space but don't reset flag.
*/
expect++;
}
beg = src;
continue;
}

View file

@ -177,10 +177,17 @@ int main()
data = [NSData dataWithContentsOfFile: @"mime10.dat"];
idoc = exact(0, data);
doc = [GSMimeParser documentFromData: data];
PASS([idoc isEqual: doc], "mime10.dat documents are the same");
PASS_EQUAL(idoc, doc, "mime10.dat documents are the same");
data = [idoc rawMimeData];
doc = [GSMimeParser documentFromData: data];
PASS([idoc isEqual: doc], "rawMimeData reproduces docuement");
PASS_EQUAL(idoc, doc, "rawMimeData reproduces document");
/* Test a document containing encoded words in header
*/
data = [NSData dataWithContentsOfFile: @"mime11.dat"];
idoc = exact(0, data);
doc = [GSMimeParser documentFromData: data];
PASS_EQUAL(idoc, doc, "mime11.dat documents are the same");
[arp release]; arp = nil;

View file

@ -0,0 +1,53 @@
Message-Id: <804672.21391188475214.JavaMail.brains99@dragontest2.brainstorm.co.uk>
Subject: =?UTF-8?Q?"Ne_manquez_pas_votre_vol_=C3=A0_destination_de_{depar?=
=?UTF-8?Q?tureArrivalCity}_({departureArrivalAirportIATA})"_?=
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_Part_0_8192781.1391188386508"
Content-Id: <multipartAlternative1>
------=_Part_0_8192781.1391188386508
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Id: <textPlain1>
Please enter your text.
------=_Part_0_8192781.1391188386508
Content-Type: multipart/related; type="text/html";
boundary="----=_Part_1_18641875.1391188386512"
Content-Id: <multipartRelated1>
------=_Part_1_18641875.1391188386512
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Id: <textHtml1>
<html>
<body>
<p>Please enter your text.<br/>
<img src="cid:image"></p>
</body>
</html>
------=_Part_1_18641875.1391188386512
Content-Type: image/gif; name=image.gif
Content-Transfer-Encoding: base64
Content-Id: <image>
Content-Disposition: attachment; filename=image.gif
R0lGODlhHQAUAMQbAJmZZt3d2PzhIP7kIf3iIf/lIv/mIvHQGvXWHfncH+rFF/DOGua8FOS6FOnC
FtqwEsqbDLCKDdajDJp0CqOZfmdQFEM0EHRiNHhnPKGWeplmAP///8zMzP///wAAAAAAACH/C05F
VFNDQVBFMi4wAwEAAAAh+QQJHgAbACwAAAAAHQAUAAAF/+AmjmRpnmfHUVhVYRTXofQWUFX0LIoU
VZRAzRS4TA6JZAKxYEwuQlIRWApUIAnBoFAYCBIHxy8qAkQUFXLHnCAUDHBDgQB2Ama2ikIx4Yw4
FQgCFoQWBoUWCAoPFX4bZnt9IxkTiB2WiBoZG4AKBw8XJBgPCQWIh4VgDRAYGxcPB2gXFCN6pYVx
qQerFY8HBxETDRO0G7YDcckGAwkLvMYHAhUTZ70bo4JvygUCig8RrRi/R5/WGRFIbslzCRYMEhOb
FQcILhUXoZwVDEhaXF7tHDyA0OiaAGoCBBywtiaCgwUIlBQSCO/ONQQXpk2gIsJKBAYKFvziweCB
jzQdMS1MELAH5YgiEx40YMCggUkIGqCUAGCvmBQc1CT42BhkSIoVLV7EwGO0qdMNIQAAIfkECR4A
GwAsAAAAAB0AFAAABf/gJo5kaZ5nx1FYVWEU153BVVE0VUXPokiRW8AEiCgqQ1Jtckg4E4gFY3JJ
igIVhWLCUVYgCcGgUBgIEgdH0FrUckedYoJQMNgNBQJ6CphxsgcPFyR/CAIWiBYGiRYICg8VXRcP
B0cXOCIZE4wdnIwaGRsABwcREw0TmBgPCQWMi4loDRAYGxUHAhUTRhUiWa2Jd7EHs70YpEyBvbYK
CQN30AYDCQvFtgcILhUXgxurhnXRBQKODxG1GAK7AgIHyxkRTXTQeQkWDBIToRgINhMTN0T8YdBE
DBkz9hw8gBBpQwAMEwRoQSIiTgQHCxA8SaQwX58RALRhurKDgYIFpHwqMHgAhCKKEkseNGDAoAFL
CBqqvMyhK4IEIAApWNlZQgULFzBkEF3K1EQIADsAAAAAAAAAAAAAAAAAAAAAAAAAAA==
------=_Part_1_18641875.1391188386512--
------=_Part_0_8192781.1391188386508--