Blame t/quick.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
SKIP: {
Packit 9002b2
    my @mods;
Packit 9002b2
    for (qw( HTTP Mail IBeat )) {
Packit 9002b2
        my $mod = "DateTime::Format::$_";
Packit 9002b2
        eval "require $mod";
Packit 9002b2
        push @mods, $mod if $@;
Packit 9002b2
    }
Packit 9002b2
    skip "@mods not installed.", 3 if @mods;
Packit 9002b2
Packit 9002b2
    eval q|
Packit 9002b2
        package DTFB::Quick;
Packit 9002b2
Packit 9002b2
        use DateTime::Format::Builder (
Packit 9002b2
        parsers => { parse_datetime => [
Packit 9002b2
            { Quick => 'DateTime::Format::HTTP' },
Packit 9002b2
            { Quick => 'DateTime::Format::Mail' },
Packit 9002b2
            { Quick => 'DateTime::Format::IBeat' },
Packit 9002b2
        ]});
Packit 9002b2
Packit 9002b2
        1;
Packit 9002b2
    |;
Packit 9002b2
    die $@ if $@;
Packit 9002b2
Packit 9002b2
    my $get = sub {
Packit 9002b2
        eval {
Packit 9002b2
            DTFB::Quick->parse_datetime( $_[0] )->set_time_zone('UTC')
Packit 9002b2
                ->datetime;
Packit 9002b2
        };
Packit 9002b2
    };
Packit 9002b2
Packit 9002b2
    for ( '@d19.07.03 @704', '20030719T155345Z' ) {
Packit 9002b2
        my $dt = $get->($_);
Packit 9002b2
        is $dt, "2003-07-19T15:53:45", "Can parse [$_]";
Packit 9002b2
    }
Packit 9002b2
Packit 9002b2
    for ('gibberish') {
Packit 9002b2
        my $dt = $get->($_);
Packit 9002b2
        ok( !defined $dt, "Shouldn't parse [$_]" );
Packit 9002b2
    }
Packit 9002b2
}
Packit 9002b2
Packit 9002b2
done_testing();