# $Id: verbose.t,v 1.3 2003/06/24 07:16:28 koschei Exp $ use lib 'inc'; use blib; use strict; use Test::More tests => 5; use vars qw( $class ); BEGIN { $class = 'DateTime::Format::Builder'; use_ok $class; } # Does verbose() work properly? SKIP: { skip "This test requires perl 5.8", 4 unless $] >= 5.007; skip "Verbose is temporarily out of it", 4; my $str; undef $SampleClass1::fh; # just to un-warn eval q{ open $SampleClass1::fh, '>', \$str or die "Cannot open string for writing!"; }; eval q[ package SampleClass1; use DateTime::Format::Builder verbose => $SampleClass1::fh, parsers => { parse_datetime => [ [ preprocess => sub { my %args = @_; $args{input} }, ], { regex => qr/^(\d{4})(\d\d)(d\d)(\d\d)(\d\d)(\d\d)$/, params => [qw( year month day hour minute second )], on_fail => sub { my %args = @_; $args{input} }, }, { preprocess => sub { my %args = @_; $args{input} }, postprocess => sub { my %args = @_; $args{input} }, on_match => sub { my %args = @_; $args{input} }, regex => qr/^(\d{4})(\d\d)(\d\d)$/, params => [qw( year month day )], }, { length => 8, regex => qr/^abcdef$/, params => [qw( year month day )], } ], }; ]; ok( !$@, "No errors when creating the class." ); diag $@ if $@; my $parser = SampleClass1->new(); isa_ok( $parser => 'SampleClass1' ); my $input = "20040506"; my $dt = eval { $parser->parse_datetime( $input ) }; isa_ok( $dt => 'DateTime' ); # Should have some data awaiting us now. close $SampleClass1::fh; like( $str, qr/$input/, "Logging data contains input." ); }