#!/usr/bin/perl -T
use
lib
qw(. .. tests lib)
;
BEGIN
if
($@)
{ plan
skip_all
=>
"requires Email::Simple."
;
exit
0;
}
plan
tests
=> 15;
}
my
$email
= Email::Simple->new(
<<'END_MESSAGE');
From: mailtools@overmeer.net
To: the users
Subject: use Mail::Box
In-Reply-To: <023984hjlur29420@sruoiu.nl>
X-Again: repeating header
X-Again: repeating header again
X-Again: repeating header and again
MIME::Entity is written by Eriq, and extends Mail::Internet with many
new capabilities, like multipart bodies. Actually, although it says
to extend, it more or less reimplements most methods and conflicts
with the other. Even the Mail::Internet constructor does not work:
only the build() can be used to safely construct a message. Do not
use it anymore!
END_MESSAGE
isa_ok(
$email
,
'Email::Simple'
);
my
$convert
= Mail::Message::Convert::EmailSimple->new;
ok(
$convert
);
my
$msg
=
$convert
->from(
$email
);
ok(
$msg
);
my
$head
=
$msg
->head;
ok(
$head
);
my
@from
=
$head
->get(
'From'
);
cmp_ok(
@from
,
"=="
, 1);
my
@again
=
$head
->get(
'X-again'
);
is(
@again
, 3);
my
$body
=
$msg
->body;
ok(
$body
);
my
@lines
=
$body
->lines;
cmp_ok(
@lines
,
"=="
, 6);
is(
$lines
[-1],
"use it anymore!\n"
);
my
$back
=
$convert
->export(
$msg
);
ok(
defined
$back
);
is(
$back
->header(
'to'
),
"the users"
);
@from
=
$back
->header(
'from'
);
cmp_ok(
@from
,
"=="
, 1);
@again
=
$back
->header(
'x-again'
);
cmp_ok(
@again
,
"=="
, 3);
$body
=
$back
->body;
ok(
$body
);
@lines
=
split
/\n/,
$body
;
cmp_ok(
@lines
,
"=="
, 6);