Branch Coverage

blib/lib/Data/Denter.pm
Criterion Covered Total %
branch 106 148 71.6


line true false branch
15 1 9 unless defined $Data::Denter::Sort
98 10 10 unless defined $args{'sort'}
112 0 10 unless $$o{'__DATA__DENTER__'}
114 10 0 if $package eq 'Data::Denter'
119 2 9 if ($$o{'hashmode'})
120 0 2 if ref $_ or not /^\w+$/
125 1 8 if /^\*$package\::\w+$/
136 1 34 unless defined $_
138 10 24 unless ref $_
140 3 21 if ref $_ eq 'HASH' and not /=/ or /=HASH/
142 5 16 if ref $_ eq 'ARRAY' and not /=/ or /=ARRAY/
144 14 2 if ref $_ eq 'REF' and /^(SCALAR|REF)\(/
146 2 0 if ref $_ eq 'SCALAR' and not /=/ or /=SCALAR/
154 1 9 if ($data =~ /\n/) { }
1 8 elsif ($data =~ /^[\s\%\@\$\\?\"]|\s$/ or $data =~ /\Q$$o{'comma'}\E/ or $data =~ /([\x00-\x1f\x7f-\xff])/ or $data eq '') { }
157 1 0 $data =~ s/\n\Z// ? :
159 0 1 if $$o{'key'}
162 0 1 if ($$o{'maxlines'} and @data > $$o{'maxlines'})
180 0 1 if $$o{'key'}
184 0 8 if $$o{'key'}
192 0 3 if ref $stream
194 3 0 $$o{'sort'} ? :
199 0 2 if ($key =~ /\n/ or $key =~ /\Q$$o{'comma'}\E/) { }
0 2 elsif ($key =~ /^[\s\%\@\$\\?\"]|\s$/ or $key eq '') { }
203 0 0 ($$o{'key'} = $key) =~ s/\n\Z//m ? :
221 1 4 if ref $stream
234 0 2 if ref $stream
244 4 10 if ref $stream
252 0 1 if $$o{'key'}
259 0 3 if $$o{'level'} != 0
267 0 24 unless $data =~ /^(([\w:]+)=)?$type\(0x([0-9a-f]+)\)$/
270 2 22 if defined $2
272 5 19 if ($$o{'xref'}{$3} > 1)
274 0 5 if $$o{'key'}
279 0 19 if $$o{'key'}
288 14 5 if ($$o{'xref'}{$ref} == 1) { }
302 1 9 unless $$stream_ref =~ /\n\Z/
309 0 10 unless $$o{'__DATA__DENTER__'}
311 10 0 if $package eq 'Data::Denter'
322 3 8 if ($$o{'level'} == 0 and $$o{'content'} =~ /^(.+?)\s*$comma\s*(.*)$/)
327 2 1 $$o{'hashmode'} ? :
331 9 1 wantarray ? :
343 2 8 if $3 eq '\\(*'
345 10 13 if ($$o{'content'} =~ /^([\%\@\$]) (\w(?:\w|::)*)? (?:\((\*)?(\w+)(?:-\d+)?\))? \s*$/x) { }
4 9 elsif ($$o{'content'} =~ /^\\\(\*(\w+)-\d+\)\s*$/) { }
0 9 elsif ($$o{'content'} =~ /^\?\s*$/) { }
351 5 2 $1 eq '@' ? :
3 7 $1 eq '%' ? :
353 1 9 if ($3) { }
354 0 1 unless defined $$o{'xref'}{$4}
361 3 6 if ($1 eq '%') { }
4 2 elsif ($1 eq '@') { }
370 2 7 if length $class
380 3 1 if $ref
382 0 4 unless defined $$o{'xref'}{$1}
397 1 5 if $ref
405 1 9 if ($$o{'content'} =~ /^\<\<(\w+)(\-?)\s*$/) { }
1 8 elsif ($$o{'content'} =~ /^\"/) { }
414 0 1 if $$o{'done'}
416 0 1 if $chomp
419 0 1 unless $$o{'content'} =~ /^\".*\"\s*$/
439 0 2 unless defined $key and defined $value
443 0 3 if $$o{'level'} > $level
450 2 0 unless $key =~ /^\<\<(\w+)(\-?)/
460 0 0 if $$o{'done'}
461 0 0 if $chomp
476 0 4 if $$o{'level'} > $level
486 0 2 if $$o{'level'} != $level
487 0 2 if $$o{'content'} =~ /^[\%\@\$\\]/
488 1 1 if $$o{'content'} =~ /^\?/
501 0 29 unless @{$$o{'lines'};}
508 10 25 unless @{$$o{'lines'};}
513 0 25 if /^(\s*$|\#)/
517 0 25 unless /^(( {$width})*)(\S.*)$/