From 7dddfe2143e28dcde147d8420f0bd129babaec3a Mon Sep 17 00:00:00 2001 From: Andrey Zelenkov Date: Mon, 28 Jan 2019 17:16:50 +0300 Subject: Tests: added test for reading body from IO::Handle-like object. --- test/perl/body_io_fake/IOFake.pm | 33 +++++++++++++++++++++++++++++++++ test/perl/body_io_fake/psgi.pl | 11 +++++++++++ 2 files changed, 44 insertions(+) create mode 100644 test/perl/body_io_fake/IOFake.pm create mode 100644 test/perl/body_io_fake/psgi.pl (limited to 'test/perl/body_io_fake') diff --git a/test/perl/body_io_fake/IOFake.pm b/test/perl/body_io_fake/IOFake.pm new file mode 100644 index 00000000..d2542aa5 --- /dev/null +++ b/test/perl/body_io_fake/IOFake.pm @@ -0,0 +1,33 @@ +package IOFake; + +sub new { + my $class = shift; + my $errors = shift; + my $self = {}; + + $self->{_count} = 2; + $self->{_errors} = $errors; + + bless $self, $class; + return $self; +} + +sub getline() { + my $self = shift; + + if ($self->{_count} > 0) { + return $self->{_count}--; + } + + $self->{_errors}->print('IOFake getline() $/ is ' . ${ $/ }); + + return; +} + +sub close() { + my $self = shift; + + $self->{_errors}->print('IOFake close() called'); +}; + +1; diff --git a/test/perl/body_io_fake/psgi.pl b/test/perl/body_io_fake/psgi.pl new file mode 100644 index 00000000..6990bfaf --- /dev/null +++ b/test/perl/body_io_fake/psgi.pl @@ -0,0 +1,11 @@ +use File::Basename; +use lib dirname (__FILE__); +use IOFake; + +my $app = sub { + my ($environ) = @_; + + my $io = IOFake->new($environ->{'psgi.errors'}); + + return ['200', [ 'Content-Length' => '2' ], $io]; +}; -- cgit