stas 2003/01/11 18:37:46 Modified: t/filter/TestFilter api.pm Log: use the context tracking to execute the body of this filter only once per request Revision Changes Path 1.8 +17 -12 modperl-2.0/t/filter/TestFilter/api.pm Index: api.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/api.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- api.pm 11 Sep 2002 00:50:31 -0000 1.7 +++ api.pm 12 Jan 2003 02:37:46 -0000 1.8 @@ -22,30 +22,35 @@ sub handler { my $filter = shift; - $filter->read(my $buffer); #slurp everything; + unless ($filter->ctx) { - tie *STDOUT, $filter; + $filter->read(my $buffer); #slurp everything; - plan tests => 6; + tie *STDOUT, $filter; - ok $buffer eq $response_data; + plan tests => 6; - ok $filter->isa('Apache::Filter'); + ok $buffer eq $response_data; - my $frec = $filter->frec; + ok $filter->isa('Apache::Filter'); - ok $frec->isa('Apache::FilterRec'); + my $frec = $filter->frec; - ok $frec->name; + ok $frec->isa('Apache::FilterRec'); - my $r = $filter->r; + ok $frec->name; - ok $r->isa('Apache::RequestRec'); + my $r = $filter->r; - ok $r->uri eq '/' . __PACKAGE__; + ok $r->isa('Apache::RequestRec'); - untie *STDOUT; + ok $r->uri eq '/' . __PACKAGE__; + untie *STDOUT; + + $filter->ctx(1); # flag that we have sent this output already + + } Apache::OK; }