IMAP-Client

 view release on metacpan or  search on metacpan

t/04parsefetch.t  view on Meta::CPAN

is($r{592}->{'BODY'}->{1}->{'SIZE'}, 348);
is($r{592}->{'BODY'}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{592}->{'BODY'}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'iso-8859-1');
is($r{592}->{'BODY'}->{1}->{'ENCODING'}, 'QUOTED-PRINTABLE');
is($r{592}->{'BODY'}->{2}->{'LINES'}, 105);
is($r{592}->{'BODY'}->{2}->{'SIZE'}, 3203);
is($r{592}->{'BODY'}->{2}->{'CONTENTTYPE'},'TEXT/HTML');
is($r{592}->{'BODY'}->{2}->{'PARAMETERS'}->{'CHARSET'}, 'iso-8859-1');
is($r{592}->{'BODY'}->{2}->{'ENCODING'}, 'QUOTED-PRINTABLE');

##############################################################
# Test Set 3 (cyrus)
# Attachment
# Tests: Attachments/MIXED parts
##############################################################
@message = ('* 1112 FETCH (FLAGS (\Seen) UID 82144 INTERNALDATE " 9-Nov-2005 10:17:05 -0400" ENVELOPE ("Wed, 7 Nov 2005 20:04:05 -0400" "Sample subject line where we are now" (("asdfman" NIL "asdfasdf" "asdfasdf.com")) (("asdfman" NIL "asdfasdf" "asd...

%r = $imap->parse_fetch(@message);
ok(%r) or print $imap->error;
is($r{1112}->{'FLAGS'}->[0], '\Seen');
is($r{1112}->{'UID'}, 82144);
is($r{1112}->{'INTERNALDATE'}, ' 9-Nov-2005 10:17:05 -0400');
is($r{1112}->{'ENVELOPE'}->{'FROM'}, 'asdfman <asdfasdf@asdfasdf.com>');
is($r{1112}->{'ENVELOPE'}->{'TO'}, '<foobar@barfoo.net>');
is($r{1112}->{'ENVELOPE'}->{'CC'}, undef);
is($r{1112}->{'ENVELOPE'}->{'BCC'}, undef);
is($r{1112}->{'ENVELOPE'}->{'SENDER'}, 'asdfman <asdfasdf@asdfasdf.com>');
is($r{1112}->{'ENVELOPE'}->{'REPLYTO'}, 'asdfman <asdfasdf@asdfasdf.com>');
is($r{1112}->{'ENVELOPE'}->{'INREPLYTO'}, undef);
is($r{1112}->{'ENVELOPE'}->{'SUBJECT'}, 'Sample subject line where we are now');
is($r{1112}->{'ENVELOPE'}->{'DATE'}, 'Wed, 7 Nov 2005 20:04:05 -0400');
is($r{1112}->{'ENVELOPE'}->{'MESSAGEID'}, 'SK45JFUDSAKJRFDEKW.SIVKWEG4@mailer.asdfasdf.com');
is($r{1112}->{'BODYSTRUCTURE'}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{1112}->{'BODYSTRUCTURE'}->{'EXT_PARAMETERS'}->{'BOUNDARY'}, '====12347509845013.572843310984657====');
is($r{1112}->{'BODYSTRUCTURE'}->{1}->{'LINES'}, 19);
is($r{1112}->{'BODYSTRUCTURE'}->{1}->{'SIZE'}, 3355);
is($r{1112}->{'BODYSTRUCTURE'}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{1112}->{'BODYSTRUCTURE'}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'iso-8859-1');
is($r{1112}->{'BODYSTRUCTURE'}->{1}->{'ENCODING'}, 'QUOTED-PRINTABLE');
is($r{1112}->{'BODYSTRUCTURE'}->{2}->{'SIZE'}, 35734);
is($r{1112}->{'BODYSTRUCTURE'}->{2}->{'CONTENTTYPE'},'APPLICATION/OCTET-STREAM');
is($r{1112}->{'BODYSTRUCTURE'}->{2}->{'PARAMETERS'}->{'NAME'}, 'filename withspace.txt');
is($r{1112}->{'BODYSTRUCTURE'}->{2}->{'DISPOSITION'}->{'ATTACHMENT'}->{'FILENAME'}, 'filename withspace.txt');
is($r{1112}->{'BODYSTRUCTURE'}->{2}->{'ENCODING'}, 'BASE64');
is($r{1112}->{'BODY'}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{1112}->{'BODY'}->{1}->{'LINES'}, 19);
is($r{1112}->{'BODY'}->{1}->{'SIZE'}, 3355);
is($r{1112}->{'BODY'}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{1112}->{'BODY'}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'iso-8859-1');
is($r{1112}->{'BODY'}->{1}->{'ENCODING'}, 'QUOTED-PRINTABLE');
is($r{1112}->{'BODY'}->{2}->{'SIZE'}, 35734);
is($r{1112}->{'BODY'}->{2}->{'CONTENTTYPE'},'APPLICATION/OCTET-STREAM');
is($r{1112}->{'BODY'}->{2}->{'PARAMETERS'}->{'NAME'}, 'filename withspace.txt');
is($r{1112}->{'BODY'}->{2}->{'ENCODING'}, 'BASE64');

##############################################################
# Test Set 4
# forwarded-as-attachment message with 2 original attachments
# Tests: multiple depth layers/MIXED parts/attachments
##############################################################
@message = ('* 2773 FETCH (FLAGS (\Recent \Seen) UID 84583 INTERNALDATE "20-Dec-2025 16:47:33 -0500" ENVELOPE ("Tue, 20 Dec 2025 16:47:25 -0500" "testing (fwd)" (("Sammuel IMAPs" NIL "IMAPss" "sam.com")) (("Johnny Emails" NIL "emailj" "doe.com")) (("...

%r = $imap->parse_fetch(@message);

ok(%r) or print $imap->error;

is($r{2773}->{'FLAGS'}->[0], '\Recent');
is($r{2773}->{'FLAGS'}->[1], '\Seen');
is($r{2773}->{'UID'}, 84583);
is($r{2773}->{'INTERNALDATE'}, "20-Dec-2025 16:47:33 -0500");
is($r{2773}->{'ENVELOPE'}->{'FROM'}, 'Sammuel IMAPs <IMAPss@sam.com>');
is($r{2773}->{'ENVELOPE'}->{'TO'}, '<janedo@others.com>');
is($r{2773}->{'ENVELOPE'}->{'CC'}, undef);
is($r{2773}->{'ENVELOPE'}->{'BCC'}, undef);
is($r{2773}->{'ENVELOPE'}->{'SENDER'}, 'Johnny Emails <emailj@doe.com>');
is($r{2773}->{'ENVELOPE'}->{'REPLYTO'}, 'Johnny Emails <emailj@doe.com>');
is($r{2773}->{'ENVELOPE'}->{'INREPLYTO'}, undef);
is($r{2773}->{'ENVELOPE'}->{'SUBJECT'}, 'testing (fwd)');
is($r{2773}->{'ENVELOPE'}->{'DATE'}, 'Tue, 20 Dec 2025 16:47:25 -0500');
is($r{2773}->{'ENVELOPE'}->{'MESSAGEID'}, 'C4E39A6421682D937C33DCA4@desktop.others.com');
is($r{2773}->{'BODYSTRUCTURE'}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{2773}->{'BODYSTRUCTURE'}->{'EXT_PARAMETERS'}->{'BOUNDARY'}, '==========8F8D58A2EAD61ADC46B3==========');
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'LINES'}, 21);
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'SIZE'}, 425);
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'us-ascii');
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'PARAMETERS'}->{'FORMAT'}, 'flowed');
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'ENCODING'}, '7BIT');
is($r{2773}->{'BODYSTRUCTURE'}->{1}->{'DISPOSITION'}->{'INLINE'}, '');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{'EXT_PARAMETERS'}->{'BOUNDARY'}, '==========71E85D905E941D38D283==========');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'LINES'}, 3);
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'SIZE'}, 52);
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'us-ascii');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'PARAMETERS'}->{'FORMAT'}, undef);
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{1}->{'ENCODING'}, '7BIT');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{2}->{'SIZE'}, 65330);
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{2}->{'CONTENTTYPE'},'IMAGE/JPEG');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{2}->{'PARAMETERS'}->{'NAME'}, 'Photo_121705_001.jpg');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{2}->{'ENCODING'}, 'BASE64');

is($r{2773}->{'BODYSTRUCTURE'}->{2}->{3}->{'SIZE'}, 74430);
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{3}->{'CONTENTTYPE'},'IMAGE/JPEG');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{3}->{'PARAMETERS'}->{'NAME'}, 'Photo_121705_002.jpg');
is($r{2773}->{'BODYSTRUCTURE'}->{2}->{3}->{'ENCODING'}, 'BASE64');
is($r{2773}->{'BODY'}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{2773}->{'BODY'}->{1}->{'LINES'}, 21);
is($r{2773}->{'BODY'}->{1}->{'SIZE'}, 425);
is($r{2773}->{'BODY'}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{2773}->{'BODY'}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'us-ascii');
is($r{2773}->{'BODY'}->{1}->{'PARAMETERS'}->{'FORMAT'}, 'flowed');
is($r{2773}->{'BODY'}->{1}->{'ENCODING'}, '7BIT');
is($r{2773}->{'BODY'}->{2}->{'CONTENTTYPE'}, 'MULTIPART/MIXED');
is($r{2773}->{'BODY'}->{2}->{1}->{'LINES'}, 3);
is($r{2773}->{'BODY'}->{2}->{1}->{'SIZE'}, 52);
is($r{2773}->{'BODY'}->{2}->{1}->{'CONTENTTYPE'},'TEXT/PLAIN');
is($r{2773}->{'BODY'}->{2}->{1}->{'PARAMETERS'}->{'CHARSET'}, 'us-ascii');
is($r{2773}->{'BODY'}->{2}->{1}->{'PARAMETERS'}->{'FORMAT'}, undef);
is($r{2773}->{'BODY'}->{2}->{1}->{'ENCODING'}, '7BIT');
is($r{2773}->{'BODY'}->{2}->{2}->{'SIZE'}, 65330);
is($r{2773}->{'BODY'}->{2}->{2}->{'CONTENTTYPE'},'IMAGE/JPEG');
is($r{2773}->{'BODY'}->{2}->{2}->{'PARAMETERS'}->{'NAME'}, 'Photo_121705_001.jpg');
is($r{2773}->{'BODY'}->{2}->{2}->{'ENCODING'}, 'BASE64');

is($r{2773}->{'BODY'}->{2}->{3}->{'SIZE'}, 74430);
is($r{2773}->{'BODY'}->{2}->{3}->{'CONTENTTYPE'},'IMAGE/JPEG');
is($r{2773}->{'BODY'}->{2}->{3}->{'PARAMETERS'}->{'NAME'}, 'Photo_121705_002.jpg');
is($r{2773}->{'BODY'}->{2}->{3}->{'ENCODING'}, 'BASE64');



( run in 0.870 second using v1.01-cache-2.11-cpan-39bf76dae61 )