Blame t/verbose.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
# Does verbose() work properly?
Packit 9002b2
SKIP: {
Packit 9002b2
    skip "This test requires perl 5.8", 4 unless $] >= 5.007;
Packit 9002b2
    skip "Verbose is temporarily out of it", 4;
Packit 9002b2
Packit 9002b2
    my $str;
Packit 9002b2
    undef $SampleClass1::fh;    # just to un-warn
Packit 9002b2
    eval q{
Packit 9002b2
    open $SampleClass1::fh, '>', \$str
Packit 9002b2
        or die "Cannot open string for writing!";
Packit 9002b2
    };
Packit 9002b2
Packit 9002b2
    eval q[
Packit 9002b2
    package SampleClass1;
Packit 9002b2
    use DateTime::Format::Builder
Packit 9002b2
        verbose => $SampleClass1::fh,
Packit 9002b2
        parsers => {
Packit 9002b2
        parse_datetime => [
Packit 9002b2
        [
Packit 9002b2
            preprocess => sub { my %args = @_; $args{input} },
Packit 9002b2
        ],
Packit 9002b2
        {
Packit 9002b2
            regex => qr/^(\d{4})(\d\d)(d\d)(\d\d)(\d\d)(\d\d)$/,
Packit 9002b2
            params => [qw( year month day hour minute second )],
Packit 9002b2
            on_fail => sub { my %args = @_; $args{input} },
Packit 9002b2
        },
Packit 9002b2
        {
Packit 9002b2
            preprocess => sub { my %args = @_; $args{input} },
Packit 9002b2
            postprocess => sub { my %args = @_; $args{input} },
Packit 9002b2
            on_match => sub { my %args = @_; $args{input} },
Packit 9002b2
            regex => qr/^(\d{4})(\d\d)(\d\d)$/,
Packit 9002b2
            params => [qw( year month day )],
Packit 9002b2
        },
Packit 9002b2
        {
Packit 9002b2
            length => 8,
Packit 9002b2
            regex => qr/^abcdef$/,
Packit 9002b2
            params => [qw( year month day )],
Packit 9002b2
        }
Packit 9002b2
        ],
Packit 9002b2
        };
Packit 9002b2
    ];
Packit 9002b2
    ok( !$@, "No errors when creating the class." );
Packit 9002b2
Packit 9002b2
    diag $@ if $@;
Packit 9002b2
Packit 9002b2
    my $parser = SampleClass1->new();
Packit 9002b2
    isa_ok( $parser => 'SampleClass1' );
Packit 9002b2
Packit 9002b2
    my $input = "20040506";
Packit 9002b2
    my $dt = eval { $parser->parse_datetime($input) };
Packit 9002b2
    isa_ok( $dt => 'DateTime' );
Packit 9002b2
Packit 9002b2
    # Should have some data awaiting us now.
Packit 9002b2
    close $SampleClass1::fh;
Packit 9002b2
    like( $str, qr/$input/, "Logging data contains input." );
Packit 9002b2
}
Packit 9002b2
Packit 9002b2
done_testing();