Branch Coverage

blib/lib/Data/Dump.pm
Criterion Covered Total %
branch 180 198 90.9


line true false branch
28 8 99 if @Data::Dump::FILTERS
41 4 103 if (%Data::Dump::require)
46 10 97 if (%Data::Dump::refcnt)
50 10 17 if ($Data::Dump::refcnt{$name})
61 14 93 if $paren
62 145 10 defined $$_[1] ? :
66 14 93 if $paren
68 13 94 if (%Data::Dump::refcnt or %Data::Dump::require)
74 0 107 unless defined wantarray
100 131 976 $ref ? :
108 26 1081 if ((my $i = rindex($strval, '=')) >= 0)
112 1107 0 if ((my $i = index($strval, '(0x')) >= 0) { }
119 0 1107 if ($] < 5.008 and $type eq 'SCALAR')
120 0 0 if $ref eq 'REF'
122 0 1107 if $Data::Dump::DEBUG
127 11 1096 if (@Data::Dump::FILTERS)
129 2 9 if $pclass
133 6 5 if (my $f = &$filter($ctx, $rval))
134 1 5 if (my $v = $$f{'object'})
139 1 5 if (defined(my $c = $$f{'bless'}))
142 1 5 if (my $c = $$f{'comment'})
145 1 5 if (defined(my $c = $$f{'dump'}))
149 2 4 if (my $h = $$f{'hide_keys'})
150 2 0 if (ref $h eq 'ARRAY')
153 1 1 if $k eq $_[0]
161 2 9 if defined $out and not @bless
162 3 8 if (@bless)
164 0 3 if @bless
168 1092 15 unless ($dont_remember)
169 19 1073 if (my $s = $Data::Dump::seen{$id})
174 0 19 if $Data::Dump::DEBUG
175 15 4 unless $sname eq $name
178 1 3 if @$idx and $$idx[-1] eq '$'
184 27 1061 if ($class)
189 2 1086 if (defined $out) { }
963 123 elsif ($type eq 'SCALAR' or $type eq 'REF' or $type eq 'REGEXP') { }
38 85 elsif ($type eq 'GLOB') { }
18 67 elsif ($type eq 'ARRAY') { }
55 12 elsif ($type eq 'HASH') { }
1 11 elsif ($type eq 'CODE') { }
11 0 elsif ($type eq 'VSTRING') { }
193 32 931 if ($ref) { }
194 9 23 if ($class and $class eq 'Regexp') { }
198 9 0 if ($v =~ /^\(\?\^?([msix-]*):([\x00-\xFF]*)\)\z/)
206 4 5 if ($sep_count)
211 3 7 if ($c < $sep_count)
214 3 0 if $sep_count == 0
224 11 12 if $type eq 'SCALAR'
226 4 19 $class ? :
229 3 928 if (not defined $$rval) { }
615 313 elsif (do { BEGIN {${^WARNING_BITS} = "TUUQUUUUUUUUUUU\025"} $$rval + 0 eq $$rval }) { }
238 1 930 if ($class and not @$idx)
248 5 33 if ($ref) { }
252 3 2 if ($out =~ /^\\\*Symbol::/)
262 59 40 unless defined $gval
263 28 12 if $k eq 'SCALAR' and not defined $$gval
293 1 54 if ($hide_keys)
298 33 7 unless /^[-+]?(?:0|[1-9]\d*)(?:\.\d+)?\z/
301 33 22 if ($text_keys) { }
310 257 10 if $key =~ /^-?[a-zA-Z_]\w*\z/
311 4 6 if $key =~ /^-?[1-9]\d{0,8}\z/
318 375 245 if $quote
319 80 540 if length $key > $kstat_max
329 1 40 if (length $tmp > 60 or $tmp =~ /\n/ or $tied)
333 5 10 if ($kstat_max < 4) { }
10 0 elsif (@keys >= 2) { }
342 6 4 if ($stddev / $kstat_max < 0.25)
345 0 10 if ($Data::Dump::DEBUG)
354 1 54 if $tied
358 549 71 $klen_pad ? :
360 574 46 $nl ? :
361 574 46 if $nl
364 40 15 unless $nl
371 3 8 $ref ? :
378 14 1074 if ($class and $ref)
381 1 1087 if ($comment)
383 1 0 unless $comment =~ /\n\z/
392 2 71 if ($tied)
393 2 0 if (my $tied_ref = ref $tied) { }
409 2 7 if ($ref and @i and $i[0] eq '$')
420 7 28 if ($i eq '*' or $i eq '$') { }
2 26 elsif ($i =~ s/^\*//) { }
427 24 2 unless $last_was_index++
431 7 34 if $ref
439 32 93 $paren ? :
440 12 113 if (@_ > 3)
448 37 279 if ($v eq '0' or $v =~ /^-?[1-9]\d{0,9}\z/) { }
266 13 elsif ($v =~ /^"([A-Za-z]{1,3}\d*)"\z/) { }
459 14 289 if $_[$j] ne $v
462 9 31 if ($j - $i > 3)
469 1 124 if ($comment or @_ > $indent_lim and length $tmp > 60 || $tmp =~ /\n/) { }
472 1 0 $comment ? :
480 14 299 if (length $_[0] > 20)
483 4 10 if (/^(.)\1\1\1/s)
486 4 0 unless (/[^\Q$1\E]/)
493 2 8 if (length $_ < 16384 and /^(.{2,5}?)\1*\z/s)
503 3 5 if (length $_ > 40 and not /\\x\{/ and length $_ > length($_[0]) * 2)
509 1 1 if ($Data::Dump::TRY_BASE64 and length $_[0] > $Data::Dump::TRY_BASE64 and (defined &utf8::is_utf8 and not utf8::is_utf8($_[0])) and eval { do { require MIME::Base64 } })
539 692 16 unless /[^\040-\176]/