Blame t/timezones.t

Packit e99357
use strict;
Packit e99357
use Test::More tests => 13;
Packit e99357
use vars qw( $class );
Packit e99357
BEGIN {
Packit e99357
    $class = 'DateTime::Format::Mail';
Packit e99357
    use_ok $class;
Packit e99357
}
Packit e99357
Packit e99357
my $fn = sub {
Packit e99357
    DateTime::Format::Mail::_determine_timezone( @_ );
Packit e99357
};
Packit e99357
Packit e99357
my %testsuite = (
Packit e99357
    'EDT translates' => { 'EDT' => '-0400' },
Packit e99357
    '+0400 remains the same' => { '+0400' => '+0400' },
Packit e99357
    'leading GMTs on valids stripped' => {
Packit e99357
	'GMT+0300' => '+0300',
Packit e99357
	'GMT-0300' => '-0300',
Packit e99357
    },
Packit e99357
    'slightly off forms' => {
Packit e99357
	'400'	=> '+0400',
Packit e99357
	'-400'	=> '-0400',
Packit e99357
	'+400'	=> '+0400',
Packit e99357
    },
Packit e99357
    'GMT normals' => {
Packit e99357
	'GMT'	=> '+0000',
Packit e99357
	'UTC'	=> '+0000',
Packit e99357
    },
Packit e99357
    'multiple signs' => {
Packit e99357
	'+-700'	=> '-0700',
Packit e99357
	'--700'	=> '-0700',
Packit e99357
    },
Packit e99357
    'invalids to -0000' => {
Packit e99357
	'fnar'	=> '-0000',
Packit e99357
    },
Packit e99357
);
Packit e99357
Packit e99357
for my $label (sort keys %testsuite)
Packit e99357
{
Packit e99357
    my $tests = $testsuite{$label};
Packit e99357
    for my $input (sort keys %$tests)
Packit e99357
    {
Packit e99357
	my $expected = $tests->{$input};
Packit e99357
	is $fn->( $input ) => $expected => "$label ($input)";
Packit e99357
    }
Packit e99357
}