File Coverage

blib/lib/IO/Mark.pm
Criterion Covered Total %
statement 27 27 100.0
branch 1 2 50.0
condition n/a
subroutine 8 8 100.0
pod 1 1 100.0
total 37 38 97.3


line stmt bran cond sub pod time code
1             package IO::Mark;
2              
3 2     2   54072 use warnings;
  2         7  
  2         58  
4 2     2   10 use strict;
  2         3  
  2         55  
5 2     2   9 use Carp;
  2         6  
  2         136  
6 2     2   1005 use IO::Mark::Buffer;
  2         4  
  2         56  
7 2     2   1016 use IO::Mark::SlaveBuffer;
  2         6  
  2         44  
8              
9 2     2   11 use base qw(IO::Handle);
  2         3  
  2         1045  
10              
11 2     2   7072 use version; our $VERSION = qv( '0.0.1' );
  2         3  
  2         11  
12              
13             sub new {
14 6     6 1 16628 my ( $class, $fh ) = @_;
15              
16 6         31 my $self = $class->SUPER::new;
17              
18             # Make sure the handle we're cloning has the caching layer installed
19 6         119 IO::Mark::Buffer::_upgrade_handle( $fh );
20              
21 6         17 my $key = IO::Mark::Buffer::_cache_key( $fh );
22              
23 6 50       79 open( $self, "<:via(IO::Mark::SlaveBuffer)", $key ) or die "Can't open ($!)";
24            
25 6         31 return $self;
26             }
27              
28             1;
29             __END__