Condition Coverage

blib/lib/Treex/PML/IO.pm
Criterion Covered Total %
condition 28 180 15.5


and 3 conditions

line !l l&&!r l&&r condition
208 0 323 0 defined $fh and defined $encoding
323 0 0 defined $fh and defined $encoding and $] >= 5.008
233 321 0 95 &blessed($uri) and $uri->isa('URI')
303 349 0 691 &blessed($url) and $url->isa('URI')
304 0 327 22 $uri eq $url || URI::Escape::uri_unescape($uri) eq $url and $url =~ m[^\s*[[:alnum:]]+://]
322 0 0 28 &blessed($href) and $href->isa('URI')
370 0 0 0 &blessed($f1) && $f1->isa('URI')
371 0 0 0 &blessed($f2) && $f2->isa('URI')
374 0 0 0 not ref $f1 || ref $f2 and $^O ne 'MSWin32'
0 0 0 not ref $f1 || ref $f2 and $^O ne 'MSWin32' and -f $f1
0 0 0 not ref $f1 || ref $f2 and $^O ne 'MSWin32' and -f $f1 and -f $f2
393 0 0 0 $d1 == $d2 && $i1 != 0 && $i1 == $i2
418 0 0 0 -x $Treex::PML::IO::gzip and -x $Treex::PML::IO::zcat
496 0 0 0 eval { do { require IO::Zlib; $tmp = 'IO::Zlib'->new } } and $tmp
572 0 157 15 get_protocol($file) eq 'file' and _is_gzip($uri)
579 0 0 15 eval { do { require IO::Zlib; $tmp = 'IO::Zlib'->new } } and $tmp
613 0 0 0 $status and $status->is_error
0 0 0 $status and $status->is_error and $status->code == 401
656 0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh
0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh and $proto =~ /^(ssh|fish|sftp)$/
668 0 0 0 $Treex::PML::IO::kioclient and -x $Treex::PML::IO::kioclient
677 0 0 0 $Treex::PML::IO::curl and -x $Treex::PML::IO::curl
0 0 0 $Treex::PML::IO::curl and -x $Treex::PML::IO::curl and $proto =~ /^(?:https?|ftps?|gopher)$/
687 0 0 0 defined $user_pipe and not $user_pipe =~ /^\|/
713 0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh
0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh and $proto =~ /^(ssh|fish|sftp)$/
724 0 0 0 $Treex::PML::IO::kioclient and -x $Treex::PML::IO::kioclient
733 0 0 0 $Treex::PML::IO::curl and -x $Treex::PML::IO::curl
0 0 0 $Treex::PML::IO::curl and -x $Treex::PML::IO::curl and $proto =~ /^(?:ftps?)$/
802 0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh
0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh and $proto =~ /^(ssh|fish|sftp)$/
812 0 0 0 $Treex::PML::IO::kioclient and -x $Treex::PML::IO::kioclient
840 0 0 0 $proto1 eq 'file' and $proto2 eq 'file'
862 0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh
0 0 0 $Treex::PML::IO::ssh and -x $Treex::PML::IO::ssh and $proto =~ /^(ssh|fish|sftp)$/
866 0 0 0 $uri2 =~ m[^\s*(?:ssh|sftp|fish):(?://)?([^-/][^/]*)(/.*)$] and $1 eq $host
878 0 0 0 $Treex::PML::IO::kioclient and -x $Treex::PML::IO::kioclient
946 0 201 0 &blessed($fh) and $fh->isa('IO::Zlib')
949 0 0 201 ref $fh && $fh->close
975 122 0 0 $is_temporary and $local_file ne $uri

or 2 conditions

line l !l condition
78 6 0 eval { do { require File::Which; \&File::Which::which } } || sub { }
97 0 6 $Treex::PML::IO::ssh_opts ||= '-C'
98 0 6 $Treex::PML::IO::reject_proto ||= '^(pop3?s?|imaps?)\\$'
234 95 0 $uri->scheme || 'file'
420 0 0 "| $pipe | $Treex::PML::IO::gzip $Treex::PML::IO::gzip_opts > " . quote_filename($file) || undef $fh
422 0 0 "$Treex::PML::IO::zcat $Treex::PML::IO::zcat_opts < " . quote_filename($file) . " | $pipe |" || undef $fh
429 0 0 "| $pipe > " . quote_filename($file) || undef $fh
431 0 0 "$pipe < " . quote_filename($file) . ' |' || undef $fh
700 0 0 $cmd || undef $fh
910 170 0 open_file($filename, $rw) || undef
912 31 0 get_store_fh($filename) || undef
974 122 0 open_backend($local_file, 'r') || (return)

or 3 conditions

line l !l&&r !l&&!r condition
59 0 0 0 $role eq 'IO' or $role eq 'Treex::PML::IO'
92 0 6 0 $Treex::PML::IO::zcat ||= _find_exe('zcat')
93 0 6 0 $Treex::PML::IO::gzip ||= _find_exe('gzip')
94 0 0 6 $Treex::PML::IO::kioclient ||= _find_exe('kioclient')
95 0 6 0 $Treex::PML::IO::ssh ||= _find_exe('ssh')
96 0 0 6 $Treex::PML::IO::curl ||= _find_exe('curl')
161 0 0 0 ref $handler eq 'CODE' or ref $handler eq 'ARRAY'
304 349 0 0 $uri eq $url || URI::Escape::uri_unescape($uri) eq $url
374 0 0 0 ref $f1 || ref $f2
530 0 0 0 $proto eq 'ntred' or $proto =~ /$Treex::PML::IO::reject_proto/
712 0 0 0 $proto eq 'http' or $proto eq 'https'
756 0 0 0 $proto eq 'ntred' or $proto =~ /$Treex::PML::IO::reject_proto/