Condition Coverage

blib/lib/PPI/Xref.pm
Criterion Covered Total %
condition 94 153 61.4


and 3 conditions

line !l l&&!r l&&r condition
35 0 0 72 -d $dir && -r $dir && -w $dir
86 0 0 76 -d $d and -x $d
144 7409 4047 627 $prev_ws and $curr_ws
166 8 49 273 exists $self->{'file_packages'} and ref $self->{'file_packages'}{$file_id}
57 0 273 exists $self->{'file_packages'} and ref $self->{'file_packages'}{$file_id} and @{$self->{'file_packages'}{$file_id};}
190 0 2 154 defined $old_package and $old_package ne 'main'
206 36 64 0 $flatten_volume and $^O eq 'MSWin32'
337 0 0 36 defined $wrote and $wrote == $size
462 0 1 20 defined $hash_previous && defined $hash_current && $hash_previous eq $hash_current
578 85 6 0 $self->{'opt'}{'process_verbose'} and $self->{'opt'}{'recurse_verbose'}
601 130 0 56 defined $cache_filename and defined $hash_current
130 20 36 defined $cache_filename and defined $hash_current and not $hash_match
20 0 36 defined $cache_filename and defined $hash_current and not $hash_match and not $self->{'opt'}{'cache_read_only'}
607 0 29 1 not $hash_match and defined $cached
714 0 532 26 defined $prev_package and $package ne $prev_package
726 1675 0 247 $elem->isa('PPI::Statement::Package') and @children >= 2
1218 0 457 $elem->isa('PPI::Statement::Sub') and defined $elem->name
1218 0 457 $elem->isa('PPI::Statement::Sub') and defined $elem->name and not $elem->forward
732 0 0 247 defined $package and length $package
788 650 0 201 $elem->isa('PPI::Statement::Include') and $stmt_content =~ /^(?:use|no|require)$/
650 28 173 $elem->isa('PPI::Statement::Include') and $stmt_content =~ /^(?:use|no|require)$/ and $include->isa('PPI::Token::Word')
28 0 173 $elem->isa('PPI::Statement::Include') and $stmt_content =~ /^(?:use|no|require)$/ and $include->isa('PPI::Token::Word') and not $include_content =~ /^v?5/
626 2 50 $stmt_content =~ /^(?:require|do)$/ and $include->isa('PPI::Token::Quote')
1402 0 0 0 defined $file_id and exists $self->{$key}{$file_id}
1482 2 2 8 defined $iterself->{'path'} and @{$iterself->{'path'};}
1537 0 2 0 defined $kind and $kind eq 'singleton'

or 2 conditions

line l !l condition
41 35 2 $opt //= {}
51 2 35 $opt->{'recurse'} //= 1
620 9 1 $self->{'__docscreated'} // 0
625 3 6 $self->{'__cachereads'} // 0
630 7 5 $self->{'__cachewrites'} // 0
635 4 2 $self->{'__cachecreates'} // 0
640 2 4 $self->{'__cacheupdates'} // 0
645 0 0 $self->{'__cachedeletes'} // 0
761 455 0 $package //= 'main'
996 0 4 $self->{'result_cache'}{'missing_modules'} //= []
997 0 4 $self->{'result_cache'}{'missing_modules_files'} //= {}
998 0 4 $self->{'result_cache'}{'missing_modules_count'} //= {}
1032 3 0 $self->{'modules'}{$module} || 0
1059 2 0 $self->{'missing_modules_count'}{$module} || 0
1066 0 2 $self->{'result_cache'}{'parse_errors_files'} //= []
1213 12 58 $opt->{'separator'} // "\t"
1278 0 7 $opt->{'separator'} // "\t"
1557 0 8 $opt->{'separator'} // "\t"

or 3 conditions

line l !l&&r !l&&!r condition
533 5 0 0 $fileloc // $file
548 4 0 0 $pseudo || -f $file
4 0 0 $pseudo || -s $file
566 42 246 0 $file //= $arg
713 507 51 0 $package{$scope_depth} // &first(sub { defined $_; } , @package{reverse 0 .. $scope_depth})
906 0 0 0 $self->{'opt'}{'process_verbose'} or $self->{'opt'}{'cache_verbose'}
1138 170 0 2 $PPI::Xref::a->[0] cmp $PPI::Xref::b->[0] or $FILE_BY_ID{$PPI::Xref::a->[1]} cmp $FILE_BY_ID{$PPI::Xref::b->[1]}
170 2 0 $PPI::Xref::a->[0] cmp $PPI::Xref::b->[0] or $FILE_BY_ID{$PPI::Xref::a->[1]} cmp $FILE_BY_ID{$PPI::Xref::b->[1]} or $PPI::Xref::a->[2] <=> $PPI::Xref::b->[2]
1259 6 5 0 $FILE_BY_ID{$PPI::Xref::a->[0]} cmp $FILE_BY_ID{$PPI::Xref::b->[0]} or $PPI::Xref::a->[1] <=> $PPI::Xref::b->[1]
11 0 0 $FILE_BY_ID{$PPI::Xref::a->[0]} cmp $FILE_BY_ID{$PPI::Xref::b->[0]} or $PPI::Xref::a->[1] <=> $PPI::Xref::b->[1] or $PPI::Xref::a->[2] <=> $PPI::Xref::b->[2]
1611 0 0 3 not 'File::Spec'->file_name_is_absolute($file) or $file =~ /\.\./
1 2 0 $file =~ /_p[ml](?:\Q$CACHE_EXT\E)?$/ || $file =~ /.p[ml]$/
0 0 3 not 'File::Spec'->file_name_is_absolute($file) or $file =~ /\.\./ or not $file =~ /_p[ml](?:\Q$CACHE_EXT\E)?$/ || $file =~ /.p[ml]$/