Blame t/format.t

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
}