Branch Coverage

lib/File/Information/Inode.pm
Criterion Covered Total %
branch 16 244 6.5


line true false branch
264 0 2 unless defined $self->{'handle'}
279 0 0 if defined $filesystem
280 0 0 if exists $opts{'default'}
292 0 0 wantarray ? :
302 0 0 if (defined $self->{'_peek_buffer'} and length $self->{'_peek_buffer'} >= $required)
306 0 0 if $required > $wanted
307 0 0 if $wanted < 4096
309 0 0 if $wanted > 65536
313 0 0 if length $buffer < $required
324 0 0 unless open my $handle, $mode // "<", $self->{'path'} // croak("Open not supported on this object")
334 0 0 unless $va eq $vb
346 0 0 unless $fh->seek(0, 0)
354 0 0 unless (defined $self->{'_tagpool_paths'})
361 0 0 unless scalar @{$instance->_tagpool_path;}
364 0 0 unless scalar @stat and S_ISREG($stat[2])
372 0 0 if (defined $found)
379 0 0 unless (defined $found)
380 0 0 if (defined $self->{'path'})
387 0 0 unless -f $info_path
393 0 0 if (defined $info and defined $info->{'pool-name-suffix'})
397 0 0 unless scalar @c_stat
401 0 0 if ($c_stat[0] eq $stat[0] and $c_stat[1] eq $stat[1])
412 0 0 unless (defined $found)
418 0 0 if $local_cache->{'complete'}
420 0 0 if (opendir my $dir, $data_path)
423 0 0 if $c_stat[0] ne $stat[0]
426 0 0 unless $entry =~ /^file\./
429 0 0 unless scalar @c_stat
433 0 0 if ($c_stat[0] eq $stat[0] and $c_stat[1] eq $stat[1])
452 2 0 if ($opts{'lifecycle'} eq "current" and not $self->{'_loaded_stat'})
457 2 0 if (scalar @values)
462 0 26 if $key eq ":skip"
463 0 26 if $value eq ""
464 2 6 if $value == 0 and $key eq 'st_ino' || $key eq 'st_rdev' || $key eq 'st_blksize'
465 0 24 if $value < 0
471 2 0 if $values[1] > 0 and $values[0] ne ""
485 0 0 if (defined $digest_sha_3_512)
490 0 0 if (defined $digest_sha_1_160 and defined $digest_sha_3_512)
506 0 0 unless ($opts{'lifecycle'} // "current") eq $lifecycle
508 0 0 unless $HAVE_XATTR
511 0 0 if $self->{'_loaded_xattr'}{$key}
517 0 0 unless defined $value and length $value
521 0 0 if (defined(my $parts = $info->{'parts'}))
526 0 0 if (defined $values[$i] and length $values[$i])
533 0 0 if (defined(my $parsing = $info->{'parsing'}))
534 0 0 if ($parsing eq "utag")
541 0 0 if defined $given_size
562 0 0 if $pkg eq "IO::Handle"
576 0 0 if $self->{'_loaded_tagpool_directory'}
582 0 0 if (scalar @stat and S_ISDIR($stat[2]))
591 0 0 unless defined $self->{'path'}
592 0 0 unless $HAVE_FILE_VALUEFILE
600 0 0 if (defined $tree)
603 0 0 if (defined $value and not ref $value and length $value)
612 0 0 if (defined $value and not ref $value and length $value)
620 0 0 if (defined(my $setting = $tree->{'directory-setting'}))
623 0 0 if (defined $value and not ref $value and length $value)
629 0 0 if (defined(my $info = $_tagpool_directory_setting_tagmap{$key}))
630 0 0 if (defined(my $entry = $info->{$value}))
638 0 0 if (defined(my $option = $tree->{'throw-option'}))
641 0 0 if (defined $value and not ref $value and length $value)
659 6 2 if $self->{'_loaded_tagpool_file'}
662 2 0 unless scalar @{$instance->_tagpool_path;}
665 0 0 unless scalar @stat and S_ISREG($stat[2])
679 0 0 unless defined $in_pool and defined $found
681 0 0 if ($found =~ /^file\.([0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})(?:\..*)?$/)
693 0 0 if (defined $info and defined $tags)
699 0 0 if (defined $value and not ref $value and length $value)
707 0 0 if (defined $value and not ref $value and length $value)
717 0 0 if (my($lifecycle, $tagpool_name) = $key =~ /^(initial|last|final)-hash-(.+)$/)
718 0 0 unless my $utag_name = $File::Information::Base::_digest_name_converter{$tagpool_name}
720 0 0 unless my($size) = $utag_name =~ /-([0-9]+)$/
722 0 0 unless $value =~ /^[0-9a-f]+$/
723 0 0 unless length $value == $size / 4
742 0 0 unless defined $info and defined $info->{'for'}
744 0 0 if ($info->{'for'} eq 'write-mode') { }
0 0 elsif ($info->{'for'} eq 'mediatype') { }
0 0 elsif ($info->{'for'} eq 'finalmode') { }
754 0 0 if defined $info->{'implies'}
762 0 0 if (defined $value and length $value)
770 0 0 if (defined $value and length $value)
778 0 0 if (scalar @c_stat)
779 0 0 if ($stat[9] < $c_stat[9])
794 0 0 if $self->{'_loaded_magic'}
799 0 0 unless defined $data
801 0 0 if (substr($data, 0, 22) eq '<!DOCTYPE HTML PUBLIC ' or substr($data, 0, 22) eq '<!DOCTYPE html PUBLIC ' or substr($data, 0, 22) eq '<!DOCTYPE HTML SYSTEM ' or uc substr($data, 0, 15) eq '<!DOCTYPE HTML>' or lc substr($data, 0, 6) eq '<html>' or $data =~ /^<\?xml version="1\.0" encoding="utf-8"\?>\r?\n?<\!DOCTYPE html PUBLIC /) { }
0 0 elsif ($data =~ m[^<\?xml version="1\.0" encoding="UTF-8"\?>\s*<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1\.0"[^>]+office:mimetype="(application/vnd\.oasis\.opendocument\.(?:text|spreadsheet|presentation|graphics|chart|formula|image|text-master|(?:text|spreadsheet|presentation|graphics)-template))"[^>]*>]) { }
0 0 elsif ($data =~ m[^PK\003\004....\0\0................\010\0\0\0mimetype(application/vnd\.oasis\.opendocument\.(?:text|spreadsheet|presentation|graphics|chart|formula|image|text-master|(?:text|spreadsheet|presentation|graphics)-template))PK\003\004]) { }
0 0 elsif (substr($data, 0, 8) eq "!<arch>\n") { }
0 0 elsif ($data =~ /^!!ValueFile ([0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})\s+(!null|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}|[0-2](?:\.(?:0|[1-9][0-9]*))+|[a-zA-Z][a-zA-Z0-9\+\.\-]+[^\s%]+)[\s\r\n]/) { }
0 0 elsif ($data =~ /^\0([\x07-\x3f])VM\x0d\x0a\xc0\x0a/ and (ord $1 & 7) == 7) { }
0 0 elsif ($data =~ /^RIFF.{4}WEBPVP8/) { }
810 0 0 if ($data =~ /^!<arch>\ndebian-binary [0-9 ]{12}0 0 [0-7 ]{8}[0-9] `\n/) { }
818 0 0 unless $format =~ /^!/
825 0 0 if (substr($data, 0, length $magic) eq $magic)
832 0 0 if defined $media_type
839 0 0 if $self->{'_loaded_db'}
842 0 0 if (defined(my $db = eval {
860 0 0 if defined $res
879 0 0 if $self->{'_loaded_zonetransfer'}
882 0 0 if ($HAVE_XATTR)
887 0 0 if (not defined $raw and $^O eq "MSWin32" and defined $self->{'path'})
888 0 0 if (open my $ads, "<", sprintf('%s:Zone.Identifier', $self->{'path'}))
895 0 0 unless defined $raw
899 0 0 if (defined(my $ZoneTransfer = $parsed->{'ZoneTransfer'}))
903 0 0 unless defined $value and length $value
907 0 0 if ($key eq "ZoneId" and defined(my $zone = $_URLZONE{$value}))
920 0 0 if $self->{'_loaded_ntfs_xattr'}
923 0 0 if ($HAVE_XATTR)
926 0 0 if defined $raw
929 0 0 if (defined $attrb)
942 2 2 if $self->{'_loaded_fstore'}
948 0 2 unless defined $dev and defined $inode
954 0 0 if (defined $stat[0] and length $stat[0] and $stat[0] != 0)
955 0 0 if (defined $stat[1] and length $stat[1] and $stat[1] > 0)
956 0 0 if ($stat[0] == $dev and $stat[1] == $inode)
964 0 2 if (scalar @candidates)
977 0 0 if $self->{'_loaded_shebang'}
980 0 0 if ($self->peek =~ /^(#\!.+)\r?\n/)
986 0 0 if ($line =~ m[^#\!(?:(?:/usr)?(?:/local)?/s?bin/)?env\s+(\S+)(\s.*)?$]) { }
0 0 elsif ($line =~ /^#\!(\S+)(?:\s.*)?$/) { }
998 0 0 if defined $interpreter and length $interpreter