2
use Test::More tests => 27;
5
$class = 'DateTime::Format::Mail';
11
my ($fn, $testsuite) = @_;
12
for my $label (sort keys %$testsuite)
14
my $tests = $testsuite->{$label};
15
for my $input (sort keys %$tests)
17
my $expected = $tests->{$input};
18
is $fn->( $input ) => $expected => "$label ($input)";
27
$class->fix_year( @_ );
49
run_our_tests( $fn => \%testsuite );
55
my $parser = $class->new();
56
isa_ok( $parser => $class );
57
is( $parser->year_cutoff => 49, "Default is default." );
58
$parser->set_year_cutoff( 20 );
59
is( $parser->year_cutoff => 20, "Default overriden." );
63
my $parser = $class->new( year_cutoff => 20 );
65
$parser->fix_year( @_ );
83
run_our_tests( $fn => \%testsuite );
88
my $parser = $class->new();
89
isa_ok( $parser => $class );
90
is( $parser->year_cutoff => 49, "Default is default." );
91
eval { $parser->set_year_cutoff( ) };
92
ok( $@, "Error with no args" );
93
eval { $parser->set_year_cutoff( 20, 40) };
94
ok( $@, "Error with two args" );
95
eval { $parser->set_year_cutoff( undef ) };
96
ok( $@, "Error with undef arg" );
97
eval { $parser->set_year_cutoff( 100 ) };
98
ok( $@, "Error with arg too big" );
99
eval { $parser->set_year_cutoff( -1 ) };
100
ok( $@, "Error with arg negative" );