File Coverage

blib/lib/Stream/Buffered/PerlIO.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod 0 4 0.0
total 31 35 88.5


line stmt bran cond sub pod time code
1             package Stream::Buffered::PerlIO;
2 2     2   29 use strict;
  2         5  
  2         92  
3 2     2   110 use warnings;
  2         5  
  2         163  
4 2     2   11 use base 'Stream::Buffered';
  2         4  
  2         701  
5              
6             sub new {
7 4     4 0 6 my $class = shift;
8 4         30 bless { buffer => '' }, $class;
9             }
10              
11             sub print {
12 12     12 0 23 my $self = shift;
13 12         53 $self->{buffer} .= "@_";
14             }
15              
16             sub size {
17 14     14 0 26 my $self = shift;
18 14         92 length $self->{buffer};
19             }
20              
21             sub rewind {
22 2     2 0 4 my $self = shift;
23 2         5 my $buffer = $self->{buffer};
24 2     2   18 open my $io, "<", \$buffer;
  2         4  
  2         18  
  2         99  
25 2         3414 bless $io, 'FileHandle'; # This makes $io work as FileHandle under 5.8, .10 and .11 :/
26 2         9 return $io;
27             }
28              
29             1;