| Test-Environment documentation | Contained in the Test-Environment distribution. |
Test::Environment::Plugin::Apache2::Apache2::Filter - fake Apache2::Filter for Test::Environment
use Test::Environment qw{
Apache2
};
my $filter = Apache2::Filter->new(
'data' => \$data,
);
is(
My::App:Apache2::Filter::handler($filter),
Apache2::Const::OK,
);
is($$filter->r->pnotes('any_news'), 'no');
Will populate Apache2::Filter namespace with fake methods that can be used for Apache2::Filter testing.
ctx
data
max_buffer_size
data_for_next_filter
seen_eos
Filter object contructor.
Will put $len (or $self->max_bufer_size if smaller) characters from $self->data into the buffer.
Will append @args to the $self->data_for_next_filter.
* implement sending/setting eos
Jozef Kutej
| Test-Environment documentation | Contained in the Test-Environment distribution. |
package Test::Environment::Plugin::Apache2::Apache2::Filter; our $VERSION = '0.06'; 1; package Apache2::Filter;
use warnings; use strict; our $VERSION = '0.06'; use IO::String; use Carp::Clan (); use base 'Class::Accessor::Fast';
__PACKAGE__->mk_accessors(qw{ ctx data max_buffer_size seen_eos });
sub new { my $class = shift; my $self = $class->SUPER::new({ 'data' => '', 'request_rec' => {}, 'max_buffer_size' => 100, @_, }); if (ref $self->data eq 'SCALAR') { $self->{'data'} = IO::String->new(${$self->data}); } elsif (ref $self->data eq '') { my $filename = $self->{'data'}; open($self->{'data'}, '<', $filename) or die 'failed to open "'.$filename.'": '.$!; } elsif (eval { $self->data->can('read'); }) { } else { Carp::Clan::croak('wrong "data" argument passed'); } return $self; }
sub read { my $self = shift; my $buffer = \$_[0]; my $len = $_[1]; $len = $self->max_buffer_size if $len > $self->max_buffer_size; return read($self->data, $$buffer, $len); }
sub print { my $self = shift; $self->{'data_for_next_filter'} .= @_; } 'man who sold the world'; __END__