Branch Coverage

blib/lib/Audio/M4P/QuickTime.pm
Criterion Covered Total %
branch 177 284 62.3


line true false branch
250 15 39 if exists $args{$k}
252 18 0 unless exists $$self{'DEBUG'}
253 15 3 if (exists $$self{'file'})
262 15 3 if (ref $$self{'root'})
269 0 15 unless open my $infh, '<', $infile
271 0 15 unless read $infh, $$self{'buffer'}, -s $infile
289 0 15 if $$self{'DEBUG'}
291 0 15 if $$self{'DEBUG'}
292 0 15 if $$self{'DEBUG'} > 1
297 0 9 unless open my $outfh, '>', $outfile
306 0 422 unless my $pAtom = $parent->getNodeValue
307 0 422 unless defined $posit
308 0 422 unless $end_posit
315 0 1113 if $$self{'DEBUG'}
317 1 1112 unless $atom->size > 7
319 25 1087 if ($atom->type =~ /stsd/i) { }
14 1073 elsif ($atom->type =~ /mp4a/i) { }
0 1073 elsif ($atom->type =~ /drms/i) { }
13 1060 elsif ($atom->type =~ /meta/i) { }
355 705 elsif ($atom->isContainer) { }
331 0 705 if $$self{'DEBUG'}
365 0 0 if $key
370 0 0 if $$self{'DEBUG'}
382 372 109 unless my $atom = $self->FindAtom($type)
385 8 101 if length $adata > 300
386 5 96 if ($type eq 'disk') { }
9 87 elsif ($type eq 'trkn') { }
0 87 elsif ($type eq 'genre') { }
400 101 0 unless length $adata > 300
402 0 13 if $$self{'DEBUG'}
412 265189 514 if $type and $_->type
415 201 2987 if wantarray
416 1654 1333 unless scalar @atoms > 0
422 0 0 unless my $a = $self->FindAtom($type)
430 0 0 if $file_type
444 0 0 if ($outfile and open my $dumpfh, ">$outfile") { }
454 0 0 unless my $drms = $self->FindAtom('drms')
456 0 0 unless my(@unwanted) = $self->FindAtom($a)
459 0 0 if $$self{'DEBUG'}
471 0 49 unless @stco_atoms or @co64_atoms
474 0 49 unless my(@mdat) = $self->FindAtom('mdat')
477 181 0 if $mdt->start > $change_position
479 0 49 if $all_mdat_before
482 1064 0 $_ > $change_position ? :
502 16 0 if $offset64 > $change_position
518 0 132 unless $tf_flags % 2 == 1
521 0 132 if $offset64 < $change_position
533 0 0 unless my $stsz = $self->FindAtom('stsz')
538 0 0 if $$self{'DEBUG'}
544 0 0 unless my $atom = $self->FindAtom($unwanted)
550 0 1 unless my $atom = $self->FindAtom($unwanted)
553 0 1 unless $atom->selfDelete
560 0 0 if ($self->FindAtom('mp4a') or $args{'force'})
565 0 0 if ($args{'zero_free_atoms'})
577 0 209 unless my $atom = $self->FindAtom('ftyp')
586 156 0 unless my $atom = $self->FindAtom($atom_type)
592 0 104 if exists $$self{'MP4Info'}{$tag}
596 13 0 if $file_type
603 0 3 unless my $moov = $self->FindAtom('moov')
606 36 0 unless $asset = $self->FindAtom($typ)
608 0 0 if $udta and $$udta{'type'} =~ /udta/i
613 3 0 unless $udta
616 1 2 unless ($udta)
623 0 3 if ($entry and $delete_old)
646 13 72 if $self->GetFtype =~ /^3g/
651 1044 900 unless my $atm = $self->FindAtom($type)
652 6 894 unless my $data_atm = $atm->Contained('data')
654 92 802 if ($type eq 'gnre') { }
78 724 elsif ($type eq 'trkn') { }
663 724 0 if ($firstchar == 0)
665 11 713 if $utf8_atoms{$type}
670 6124 1028 if defined $$self{'MP4Info'}{$tag}
675 26 46 unless ($$self{'MP4Info'}{'GENRE'})
677 0 26 if ($gen_atom)
684 2 70 if ($as_text)
686 2 0 if (defined $$self{'MP4Info'}{'DISK'})
691 2 0 if (defined $$self{'MP4Info'}{'TRKN'})
694 0 2 if $tracknum and $tracks
697 2 0 if (defined $$self{'MP4Info'}{'TMPO'})
701 2 0 if (defined $$self{'MP4Info'}{'CPRT'} and length $$self{'MP4Info'}{'CPRT'} > 3)
705 2 0 if (defined $$self{'MP4Info'}{'COVR'})
708 2 0 if (defined $$self{'MP4Info'}{'GENRE'} and $$self{'MP4Info'}{'GENRE'} =~ /^\d+$/ and $$self{'MP4Info'}{'GENRE'} < 128)
725 0 0 exists $$meta{'CPRT'} ? :
732 0 0 if ($mvhd_data)
734 0 0 if ($mvhd[0] == 1) { }
755 3 36 if $self->GetFtype =~ /^3g/
764 13 23 if ($entry and $delete_old)
771 4 32 if ($as_text)
773 4 0 if ($iTMS_meta_atoms{$type})
775 0 4 if ($type eq 'disk' and $value =~ /(\d+)\D+(\d+)/) { }
3 1 elsif ($type eq 'trkn' and $value =~ /(\d+)\D+(\d+)/) { }
0 1 elsif ($type eq 'gnre') { }
787 2 2 if $diff
791 1 31 if ($typ eq 'covr' and $ilst->Contained($typ)) { }
796 19 12 if $utf8_atoms{$type}
806 0 2 unless my $moov = $self->FindAtom('moov')
810 0 2 unless ($udta)
820 2 0 unless ($meta)
826 2 0 unless ($hdlr)
833 2 0 unless ($ilst)
844 5 1 if ($dict)
846 10 60 if $key =~ /Count$/
847 46 14 unless exists $$dict{$key}
849 1 13 if ($key eq 'discNumber')
850 0 1 unless my $count = $$dict{'discCount'}
853 4 10 if ($key eq 'trackNumber')
857 0 14 if ($key eq 'artworkURL')
860 2 12 if ($key eq 'copyright')
863 1 13 if ($key eq 'genre')
865 1 0 unless $gnre eq 'INVALID_GENRE'
867 4 10 $keep_old ? :
872 16 68 unless my $meta = $self->FindAtom($type)
874 12 56 if ($type eq 'trkn') { }
8 48 elsif ($type eq 'disk') { }
4 44 elsif ($type eq 'cprt') { }
894 1 2 unless my(@covr) = $self->FindAtom('covr')
897 0 2 unless my(@data_atms) = $atm->Contained('data')
914 0 1 unless my(@atoms) = $atm->Contained('data')
917 0 1 unless $atm->selfDelete
933 0 1 unless $type
935 1 0 unless ($covr)
940 0 1 unless $covr = $self->FindAtom('covr')
962 3 3 if $new_tag
969 4 4 if $new_tag
976 2 3 if $new_tag
983 2 3 if $new_tag
990 2 3 if $new_tag
997 2 5 if $new_tag
1005 0 2 if ($new_tag)
1014 0 1 if ($new_trkn)
1024 2 2 if $new_trkn and $new_tcount
1035 0 1 if ($new_tcount)
1048 1 0 if (ref $tags_href)
1049 1 0 if $$tags_href{'title'}
1050 0 1 if $$tags_href{'artist'}
1051 1 0 if $$tags_href{'album'}
1052 0 1 if $$tags_href{'comment'}
1053 0 1 if $$tags_href{'genre'}
1054 0 1 if $$tags_href{'year'}
1055 0 1 if $$tags_href{'track'}
1056 0 1 if $$tags_href{'total'}
1099 9 0 $_ ? :