|
Packit |
e99357 |
# $Id$
|
|
Packit |
e99357 |
use strict;
|
|
Packit |
e99357 |
use Test::More tests => 19;
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
BEGIN {
|
|
Packit |
e99357 |
use_ok 'DateTime::Format::Mail';
|
|
Packit |
e99357 |
}
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
my $class = 'DateTime::Format::Mail';
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
# Can we format?
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
{
|
|
Packit |
e99357 |
my $parse = sub {
|
|
Packit |
e99357 |
my $type = shift;
|
|
Packit |
e99357 |
my $obj = shift;
|
|
Packit |
e99357 |
my $dates = shift || [
|
|
Packit |
e99357 |
[ 1047278957 => '+0900' => 'Mon, 10 Mar 2003 15:49:17 +0900' ],
|
|
Packit |
e99357 |
[ 1047278958 => '-0500' => 'Mon, 10 Mar 2003 01:49:18 -0500' ],
|
|
Packit |
e99357 |
[ 1047192558 => '-0500' => 'Sun, 9 Mar 2003 01:49:18 -0500' ],
|
|
Packit |
e99357 |
[ 1397018658 => 'Europe/Paris' => 'Wed, 9 Apr 2014 06:44:18 +0200' ],
|
|
Packit |
e99357 |
[ 1397018658 => 'floating' => 'Wed, 9 Apr 2014 04:44:18 -0000' ],
|
|
Packit |
e99357 |
[ 1397018658 => 'GMT' => 'Wed, 9 Apr 2014 04:44:18 +0000' ],
|
|
Packit |
e99357 |
[ 1397018658 => 'UTC' => 'Wed, 9 Apr 2014 04:44:18 +0000' ],
|
|
Packit |
e99357 |
[ 1397018658 => '+0000' => 'Wed, 9 Apr 2014 04:44:18 +0000' ],
|
|
Packit |
e99357 |
[ time() => '+1000' => qr{^[A-Z][a-z][a-z],\s[\s\d]\d
|
|
Packit |
e99357 |
\s[A-Z][a-z][a-z]\s\d{4}\s\d\d:\d\d:\d\d\s[\+\-]\d{4}$}x ],
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
];
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
for my $data (@$dates)
|
|
Packit |
e99357 |
{
|
|
Packit |
e99357 |
my ($epoch, $tz, $expected) = @$data;
|
|
Packit |
e99357 |
my $dt = DateTime->from_epoch( epoch => $epoch, time_zone => $tz );
|
|
Packit |
e99357 |
my $back = $obj->format_datetime( $dt );
|
|
Packit |
e99357 |
if (ref $expected eq 'Regexp')
|
|
Packit |
e99357 |
{
|
|
Packit |
e99357 |
like ( $back => $expected,
|
|
Packit |
e99357 |
"($type) Format of $epoch ($tz) is $expected" );
|
|
Packit |
e99357 |
}
|
|
Packit |
e99357 |
else
|
|
Packit |
e99357 |
{
|
|
Packit |
e99357 |
is ( $back => $expected,
|
|
Packit |
e99357 |
"($type) Format of $epoch ($tz) is $expected" );
|
|
Packit |
e99357 |
}
|
|
Packit |
e99357 |
}
|
|
Packit |
e99357 |
};
|
|
Packit |
e99357 |
|
|
Packit |
e99357 |
$parse->( 'obj', $class->new );
|
|
Packit |
e99357 |
$parse->( 'class', $class );
|
|
Packit |
e99357 |
}
|