Mail-Message
view release on metacpan or search on metacpan
t/321bodyconv-html.t view on Meta::CPAN
#!/usr/bin/env perl
#
# Test conversions as HTML/XHTML without help of external modules
#
use strict;
use warnings;
use Mail::Message;
use Mail::Message::Test;
use Mail::Message::Head::Complete;
use Mail::Message::Field::Fast;
use Mail::Message::Convert::Html;
use Test::More tests => 7;
my $html = Mail::Message::Convert::Html->new;
my $xhtml = Mail::Message::Convert::Html->new(produce => 'XHTML');
#
# test fieldToHtml
#
my $to = Mail::Message::Field::Fast->new(To => 'me@example.com (Mark Overmeer)');
is($html->fieldToHtml($to), '<strong>To: </strong><a href="mailto:me@example.com">me@example.com</a> (Mark Overmeer)');
my $to2 = Mail::Message::Field::Fast->new('reply-to' => 'me@example.com, you@tux.aq');
is($html->fieldToHtml($to2), '<strong>Reply-To: </strong><a href="mailto:me@example.com">me@example.com</a>, <a href="mailto:you@tux.aq">you@tux.aq</a>');
#
# test headToHtmlTable
#
my $head = Mail::Message::Head::Complete->new;
$head->add(To => 'me@example.com (Mark Overmeer)');
$head->add(From => 'you@tux.aq, john.doe@some.where.else (Doe, John)');
$head->add('X-Sender' => 'Mail::Box software cooperation');
$head->add(Subject => 'No e-mail@at.this.line');
my $table_dump = <<'TABLE-DUMP';
<table width=>"50%">
<tr><th valign="top" align="left">To:</th>
<td valign="top"><a href="mailto:me@example.com">me@example.com</a> (Mark Overmeer)</td></tr>
<tr><th valign="top" align="left">From:</th>
<td valign="top"><a href="mailto:you@tux.aq">you@tux.aq</a>, <a href="mailto:john.doe@some.where.else">john.doe@some.where.else</a> (Doe, John)</td></tr>
<tr><th valign="top" align="left">Subject:</th>
<td valign="top">No e-mail@at.this.line</td></tr>
</table>
TABLE-DUMP
my $table = $html->headToHtmlTable($head, 'width=>"50%"');
is($table, $table_dump);
my $xtable = $xhtml->headToHtmlTable($head, 'width=>"50%"');
is($xtable, $table_dump);
#
# test headToHtmlHead
#
my $html_head_dump = <<'HTML_HEAD_DUMP';
<head>
( run in 0.837 second using v1.01-cache-2.11-cpan-3c2a17b8caa )