Blame t/on_fail_sub.t

Packit 9002b2
use strict;
Packit 9002b2
use warnings;
Packit 9002b2
Packit 9002b2
use Test::More;
Packit 9002b2
Packit 9002b2
use DateTime::Format::Builder;
Packit 9002b2
Packit 9002b2
{
Packit 9002b2
    eval q|
Packit 9002b2
        package DTFB::Sub;
Packit 9002b2
        use base qw( DateTime::Format::Builder );
Packit 9002b2
Packit 9002b2
        sub on_fail {
Packit 9002b2
            return undef;
Packit 9002b2
        }
Packit 9002b2
Packit 9002b2
        1;
Packit 9002b2
Packit 9002b2
        package DTFB::OnFailSubTest;
Packit 9002b2
Packit 9002b2
        BEGIN {
Packit 9002b2
            DTFB::Sub->import(
Packit 9002b2
                parsers => {
Packit 9002b2
                    parse_datetime => [
Packit 9002b2
                    {strptime=> '%m/%d/%Y'},
Packit 9002b2
                    {strptime=> '%Y/%m/%d'},
Packit 9002b2
                    ]
Packit 9002b2
                }
Packit 9002b2
            );
Packit 9002b2
        }
Packit 9002b2
Packit 9002b2
        1;
Packit 9002b2
    |;
Packit 9002b2
    ok( !$@, "Made class" );
Packit 9002b2
    diag $@ if $@;
Packit 9002b2
Packit 9002b2
    my $o          = DTFB::OnFailSubTest->new;
Packit 9002b2
    my $good_parse = $o->parse_datetime("2003/08/09");
Packit 9002b2
    isa_ok( $good_parse, 'DateTime' );
Packit 9002b2
    is( $good_parse->year  => 2003, "Year good" );
Packit 9002b2
    is( $good_parse->month => 8,    "Month good" );
Packit 9002b2
    is( $good_parse->day   => 9,    "Day good" );
Packit 9002b2
Packit 9002b2
    my $bad_parse = eval { $o->parse_datetime("Fnerk") };
Packit 9002b2
    ok( !$@, "Bad parse gives no error" );
Packit 9002b2
    diag $@ if $@;
Packit 9002b2
    ok( ( !defined($bad_parse) ), "Bad parse correctly gives undef" );
Packit 9002b2
}
Packit 9002b2
Packit 9002b2
done_testing();