Log-Procmail
view release on metacpan or search on metacpan
t/20abstract.t view on Meta::CPAN
use strict;
use Test::More tests => 63;
use Log::Procmail;
# create a record by hand
my $rec = Log::Procmail::Abstract->new(
from => 'book@cpan.org',
date => 'Tue Feb 5 01:14:36 CET 2002',
subject => 'Re: Log::Procmail',
folder => 'modules',
size => '2197',
);
isa_ok( $rec, "Log::Procmail::Abstract" );
# test the methods
is( $rec->from, 'book@cpan.org', "Correct from" );
is( $rec->date, 'Tue Feb 5 01:14:36 CET 2002', "Correct date");
is( $rec->subject, 'Re: Log::Procmail', "Correct subject");
is( $rec->folder, 'modules', "Correct folder" );
is( $rec->size, '2197', "Correct size" );
is( $rec->ymd, '20020205011436', "Correct ymd" );
is( $rec->source, undef, "No source" );
# create a logger
my $log = Log::Procmail->new("t/procmail.log");
isa_ok( $log, "Log::Procmail" );
# read a record from the first file
$rec = $log->next;
is( $rec->from, 'r21436@start.no', "Correct from" );
is( $rec->date, 'Wed Feb 6 18:50:17 2002', "Correct date" );
is( $rec->subject,
'I woke up from my obesity nightmare 5765',
"Correct subject" );
is( $rec->folder, '/var/spool/mail/book', "Correct folder" );
is( $rec->size, 5774, "Correct size" );
is( $rec->source, 't/procmail.log', "Correct source" );
# a record with a <SPACE> in the From field
$rec = $log->next;
is( $rec->from, '"antispamsoftware <antispam"@mx05.sytes.net', "Correct from");
is( $rec->date, 'Mon Apr 5 23:01:10 2004', "Correct date" );
is( $rec->subject, 'Filter spammers and keep your email address', "Correct subject");
is( $rec->folder, "isspam", "Correct folder");
is( $rec->size, 7528, "Correct size" );
# read the remaining records
my $i = 1;
while ( $rec = $log->next ) { $i++ }
is( $i, 5, "Remaining logs" );
# push new files on the log stack
$log->push( 't/procmail.log', 't/procmail2.log' );
$rec = $log->next;
# did we get the first record again?
isa_ok( $rec, "Log::Procmail::Abstract" );
is( $rec->from, 'r21436@start.no', "Correct from" );
is( $rec->date, 'Wed Feb 6 18:50:17 2002', "Correct date" );
is( $rec->subject,
'I woke up from my obesity nightmare 5765',
"Correct subject" );
is( $rec->folder, '/var/spool/mail/book', "Correct folder" );
is( $rec->size, 5774, "Correct size" );
is( $rec->source, 't/procmail.log', "Correct source" );
# go to next file, automatically
$rec = $log->next for 1 .. 6; # skip 6 records
is( $rec->from, 'p11542@24horas.com', "Correct from" );
is( $rec->date, 'Mon Feb 4 18:29:00 2002', "Correct date" );
is( $rec->subject,
"I didn't want to struggle anymore 5901",
"Correct subject" );
is( $rec->folder, '/var/spool/mail/book', "Correct folder" );
is( $rec->size, 5745, "Correct size" );
is( $rec->source, 't/procmail2.log', "Correct source" );
( run in 0.948 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )