use strict;
use Test::More;
use Plack::TempBuffer;
my $warn = '';
$SIG{__WARN__} = sub { $warn .= $_[0] };
{
my $b = Plack::TempBuffer->new(-1);
$b->print("foo");
is $b->size, 3;
my $fh = $b->rewind;
is do { local $/; <$fh> }, 'foo';
$fh->seek(0, 0);
}
{
local $Plack::TempBuffer::MaxMemoryBufferSize = 12;
my $b = Plack::TempBuffer->new;
is $b->size, 0;
$b->print("foo") for 1..5;
is $b->size, 15;
my $fh = $b->rewind;
isa_ok $fh, 'IO::File';
is do { local $/; <$fh> }, ('foo' x 5);
like $warn, qr/MaxMemoryBufferSize.*deprecated/;
$warn = '';
}
{
local $Plack::TempBuffer::MaxMemoryBufferSize = 0;
my $b = Plack::TempBuffer->new(3);
$b->print("foo\n");
is $b->size, 4;
my $fh = $b->rewind;
isa_ok $fh, 'IO::File';
is do { local $/; <$fh> }, "foo\n";
like $warn, qr/MaxMemoryBufferSize.*deprecated/;
$warn = '';
}
done_testing;