Branch Coverage

blib/lib/IO/Compress/Zip.pm
Criterion Covered Total %
branch 106 180 58.8


line true false branch
84 2 1 if $method == 0 or $method == 8
90 0 0 if $method == 12 and defined $IO::Compress::Adapter::Bzip2::VERSION and defined &{"IO::Compress::Adapter::Bzip2::mkRawZipCompObject";}
95 0 0 if $method == 14 and defined $IO::Compress::Adapter::Lzma::VERSION and defined &{"IO::Compress::Adapter::Lzma::mkRawZipCompObject";}
100 0 0 if $method == 95 and defined $IO::Compress::Adapter::Xz::VERSION and defined &{"IO::Compress::Adapter::Xz::mkRawZipCompObject";}
105 0 0 if $method == 93 and defined $IO::Compress::Adapter::ZSTD::VERSION and defined &{"IO::Compress::Adapter::ZSTD::mkRawZipCompObject";}
114 0 383 if (*$self->{'ZipData'}{'Sparse'})
127 0 0 if $sparse % $inc
138 34 351 if (*$self->{'ZipData'}{'Method'} == 0) { }
332 19 elsif (*$self->{'ZipData'}{'Method'} == 8) { }
19 0 elsif (*$self->{'ZipData'}{'Method'} == 12) { }
0 0 elsif (*$self->{'ZipData'}{'Method'} == 14) { }
0 0 elsif (*$self->{'ZipData'}{'Method'} == 95) { }
0 0 elsif (*$self->{'ZipData'}{'Method'} == 93) { }
175 0 0 defined $got->getValue('level') ? :
180 0 385 unless defined $obj
183 314 71 unless (defined *$self->{'ZipData'}{'SizesOffset'})
189 293 92 unless defined *$self->{'ZipData'}{'AnyZip64'}
208 317 48 if (*$self->{'ZipData'}{'Method'} == 8) { }
246 2 0 if $dirs[-1] eq ""
2 0 if (@dirs > 0)
247 2 0 defined $file ? :
276 2 382 if length $filename and $param->getValue("canonicalname")
279 3 381 if (defined *$self->{'ZipData'}{'FilterName'})
284 5 379 if ($param->getValue("efs") and $] >= "5.008004")
285 5 0 if (length $filename)
286 1 4 unless utf8::downgrade($filename, 1)
290 0 4 if (length $comment)
291 0 0 unless utf8::downgrade($comment, 1)
308 383 0 if $osCode == 3
311 26 357 if (*$self->{'ZipData'}{'Zip64'})
323 383 0 unless ($param->getValue("minimal"))
324 113 270 if ($param->parsed("mtime"))
333 383 0 if ($osCode == 3)
335 113 270 if ($param->getValue("want_exunixn"))
342 0 383 if ($param->getValue("exunix2"))
349 383 0 if defined $param->getValue("extattr")
352 0 383 if defined $param->getValue("extrafieldlocal")
355 0 383 if defined $param->getValue("extrafieldcentral")
362 332 51 if *$self->{'ZipData'}{'Stream'}
364 0 383 if $method == 14
367 4 0 if $param->getValue("efs") and length $filename || length $comment
372 20 344 if 45 > $version and *$self->{'ZipData'}{'Zip64'}
381 112 271 if $param->getValue("textflag")
399 26 357 if (*$self->{'ZipData'}{'Zip64'}) { }
434 0 383 if (*$self->{'ZipData'}{'LocalHdrOffset'}->is64bit) { }
455 330 53 if (*$self->{'ZipData'}{'Method'} == 8) { }
465 357 26 if (not *$self->{'ZipData'}{'Zip64'}) { }
481 332 51 if (*$self->{'ZipData'}{'Stream'}) { }
486 0 51 unless $self->writeAt(*$self->{'ZipData'}{'LocalHdrOffset'}->get64bit + 14, $crc32)
489 8 43 *$self->{'ZipData'}{'Zip64'} ? :
0 51 unless $self->writeAt(*$self->{'ZipData'}{'SizesOffset'}, *$self->{'ZipData'}{'Zip64'} ? $xtrasize : $sizes)
500 0 383 if (*$self->{'UnCompSize'}->isAlmost64bit) { }
507 0 383 if (*$self->{'CompSize'}->isAlmost64bit) { }
515 0 383 if *$self->{'ZipData'}{'LocalHdrOffset'}->is64bit
522 0 383 if (length $zip64Payload)
554 0 317 if *$self->{'ZipData'}{'Offset'}->is64bit or $entries >= 65535
561 21 296 if (*$self->{'ZipData'}{'AnyZip64'})
574 0 21 if defined *$self->{'ZipData'}{'extrafieldzip64'}
588 0 21 if IO::Compress::Base::Common::isGeMax32($cd_len)
589 0 21 if $entries >= 65535
613 297 89 unless ($got->parsed("time"))
618 0 386 if ($got->parsed("extime"))
620 0 0 if (defined $timeRef)
621 0 0 if ref $timeRef ne "ARRAY" or @$timeRef != 3
633 0 772 if ($got->parsed($name))
635 0 0 if (defined $idRef)
636 0 0 if ref $idRef ne "ARRAY" or @$idRef != 2
646 26 360 if $got->getValue("zip64") or $got->getValue("extrafieldzip64")
653 0 386 unless defined $IO::Compress::Zip::ZIP_CM_MIN_VERSIONS{$method}
655 0 386 if $method == 12 and not defined $IO::Compress::Adapter::Bzip2::VERSION
659 0 386 if $method == 14 and not defined $IO::Compress::Adapter::Lzma::VERSION
670 0 1158 if (defined $data)
672 0 0 if $bad
681 0 386 if defined $IO::Compress::Bzip2::VERSION and not IO::Compress::Bzip2::ckParams($self, $got)
684 0 386 if ($got->parsed("sparse"))
689 3 383 if ($got->parsed("filtername"))
691 3 0 if ref $v eq "CODE"
701 0 371 if *$self->{'ZipData'}{'Sparse'}
776 50 113 if (IO::Compress::Base::Common::isaScalar($filename))
779 0 50 if IO::Compress::Base::Common::isGeMax32(length ${$filename;})
785 0 113 if ($params->parsed('storelinks')) { }
796 108 5 unless $params->parsed("textflag")
799 0 113 if IO::Compress::Base::Common::isGeMax32($size)
802 102 11 unless $params->parsed("name")
805 106 7 unless $params->parsed("time")
808 113 0 unless ($params->parsed("extime"))
817 108 5 unless ($params->parsed("extattr"))
821 0 108 if ($mode & 128) == 0
822 0 108 if ($mode & S_IFMT()) == 16384
843 339 113 if (defined $time)