Branch Coverage

blib/lib/IO/All.pm
Criterion Covered Total %
branch 136 186 73.1


line true false branch
63 0 584 if $pkg ne $self->_package
77 519 65 if $INC{$ucfirst_class_fn}
78 5 60 if $INC{"IO/All/\U$class_id\E.pm"}
80 58 2 if (eval "require $ucfirst_class_name; 1") { }
1 1 elsif (eval "require IO::All::\U$class_id; 1\E") { }
84 58 0 $class->can('new') ? :
103 1 647 if ref $self
105 3 645 if UNIVERSAL::isa($name, 'IO::All')
106 135 510 unless defined $name
107 0 510 if UNIVERSAL::isa($name, 'GLOB') or ref \$name eq 'GLOB'
111 9 501 if -l $name
112 275 226 if -f $name
113 172 54 if -d $name
114 0 54 if $name =~ /^([a-z]{3,8}):/
115 2 52 if $name =~ /^[\w\-\.]*:\d{1,5}$/
116 2 50 if $name =~ s/^\s*\|\s*// or $name =~ s/\s*\|\s*$//
117 1 49 if $name eq '$'
118 2 47 if $name eq '-'
119 1 46 if $name eq '='
120 1 45 if $name eq '?'
130 2 3 if /^(_handle|io_handle|is_open)$/
137 0 0 if @_
202 22 41 if ($swap)
208 25 38 if ($operator =~ /\{\}$/)
214 6 32 UNIVERSAL::isa($arg2, 'IO::All') ? :
223 6 32 unless $arg2_type =~ /^(scalar|array|hash|code|ref)$/
228 38 38 if defined $table->{$_}
238 32 69 unless $ref
239 0 69 if $ref eq 'CODE'
240 0 69 if $ref eq 'ARRAY'
241 0 69 if $ref eq 'HASH'
242 0 69 unless $argument->isa('IO::All')
243 9 60 if defined $argument->pathname and not $argument->type
250 3 0 defined $self ? :
251 1 2 if $swap
258 1121 562 defined $name ? :
265 0 0 if $^W
286 0 0 if $_[1]->is_file and $_[1]->is_open
292 0 0 if $_[2]->is_file and $_[2]->is_open
313 0 14 if $_[1]->is_file and $_[1]->is_open
345 62 52 if (my $partial = $self->_partial_spec_class(@_))
394 5 0 if ref $_[0]
401 2 10 if wantarray
409 414 0 unless ($] < 5.008)
410 5 409 if tied *$self
412 57 357 if $self->is_open
436 2 0 unless eval { do { Cwd::abs_path($self->pathname); 0 } }
470 5 16 unless $self->is_absolute
482 57 1 if $self->_autoclose
500 2 7 if $self->is_open
508 2 3 if $self->is_open
515 19 3 $layer ? :
522 130 3 unless (@_)
524 0 130 unless exists *$self->{'buffer'}
527 0 3 ref $_[0] ? :
528 2 1 unless defined $$buffer_ref
542 0 158 unless $self->is_open
547 158 0 if defined $io_handle
563 4 42 if $self->_backwards
568 0 42 @_ ? :
570 15 27 if $self->_chomp and defined $line
573 38 4 if defined $line
574 2 2 if $self->_autoclose
580 1 5 if $self->_backwards
585 1 4 @_ ? :
587 1 4 if ($self->_chomp)
592 5 0 if @lines
593 0 0 if $self->_autoclose
610 0 3 if $self->is_open
613 3 0 if defined $mode
614 0 3 unless defined $self->mode
615 0 3 if defined $perms
617 3 0 unless ($self->is_dir)
619 0 3 if defined $self->perms
621 3 0 if (defined $self->pathname and not $self->type) { }
0 0 elsif (defined $self->_handle and not $self->io_handle->opened) { }
636 0 22 /\n\z/ ? :
645 0 44 @_ || $self->type eq 'dir' ? :
667 6 4 unless wantarray
669 1 3 if ($self->_chomp) { }
680 0 9 if ($] < 5.008)
694 0 17 if ($] < 5.008)
697 0 17 unless $encoding
698 2 15 if $self->is_open and $encoding
713 0 21 @_ ? :
715 21 0 unless @_
726 0 4 if $self->errors
728 0 4 if $self->_confess
742 4 0 if not CORE::length $dir_name or -d $dir_name or mkdir $dir_name, $self->perms || 493 or do { require File::Path; File::Path::mkpath($dir_name, 0, $self->perms || 493) } or $self->throw("Can't make $dir_name")
751 3 7 if $self->is_open
752 6 1 unless $self->type
759 0 239 unless $self->io_handle->can('error')
760 239 0 unless $self->io_handle->error