1#!/usr/bin/perl -w
2use strict;
3
4use Test::More tests => 3;
5
6use DateTime::Format::Builder;
7
8
9SKIP: {
10    my @mods;
11    for (qw( HTTP Mail IBeat ))
12    {
13        my $mod = "DateTime::Format::$_";
14        eval "require $mod";
15        push @mods, $mod if $@;
16    }
17    skip "@mods not installed.", 3 if @mods;
18
19
20    eval q|
21        package DTFB::Quick;
22
23        use DateTime::Format::Builder (
24        parsers => { parse_datetime => [
25            { Quick => 'DateTime::Format::HTTP' },
26            { Quick => 'DateTime::Format::Mail' },
27            { Quick => 'DateTime::Format::IBeat' },
28        ]});
29        
30        1;
31    |;
32    die $@ if $@;
33
34    my $get = sub { eval {
35            DTFB::Quick
36                ->parse_datetime($_[0])
37                ->set_time_zone( 'UTC' )
38                ->datetime
39        } };
40
41
42    for ( '@d19.07.03 @704', '20030719T155345Z' )
43    {
44        my $dt = $get->( $_ );
45        is $dt, "2003-07-19T15:53:45", "Can parse [$_]";
46    }
47
48    for ( 'gibberish' )
49    {
50        my $dt = $get->( $_ );
51        ok( !defined $dt, "Shouldn't parse [$_]" )
52    }
53}
54