Condition Coverage

blib/lib/Data/Dump/Streamer.pm
Criterion Covered Total %
condition 283 465 60.8


and 3 conditions

line !l l&&!r l&&r condition
914 0 2 0 $n <= length $abr and $self->{'type_abrv'}{substr $abr, 0, $n}
2 0 0 $n <= length $abr and $self->{'type_abrv'}{substr $abr, 0, $n} and $self->{'type_abrv'}{substr $abr, 0, $n} ne $name
954 0 0 0 $self->{'ref_id'} and $self->{'sv_id'}
973 4211 72 406 $brace and not $rest
1014 705 427 0 substr($name, 0, 1) eq $type and $type ne '$'
1055 0 0 0 $prefix and $oidx
1161 26 5 3 &blessed($_[0]) and &blessed($_[0]) eq 'Data::Dump::Streamer'
1165 0 7 8 defined wantarray and not wantarray
1205 2 0 0 &blessed($_[0]) and &blessed($_[0]) eq 'Data::Dump::Streamer'
1233 0 0 2 defined wantarray and not wantarray
1257 1 0 0 &blessed($_[0]) and &blessed($_[0]) eq 'Data::Dump::Streamer'
1271 0 0 1 defined wantarray and not wantarray
1333 323 4 12 $self->{'svn'}[$idx] =~ /^\$\{?\$/ and not $name =~ /^\$\{?\$/
1399 28 17 11 $t eq 'SCALAR' and not defined $$v
1490 1990 285 1 $class and $self->{'style'}{'ignore'}{".$class"}
1990 136 149 $class and not $self->{'cache_skip_freeze'}{$class}
1551 700 0 0 $Data::Dump::Streamer::DEBUG and print " Skipping '${cname}' as it is a dupe of " . "$self->{'refn'}[$idx]\n"
1563 1410 141 26 defined $class and overload::Overloaded($item)
1609 0 509 0 $keyary and &reftype($keyary) ne 'ARRAY'
1633 507 2 0 $key_len > 8 && 0.66666666666666663 * $key_len > $avg
1726 21 0 6 $rt ne 'SCALAR' and $rt ne 'GLOB'
21 3 3 $rt ne 'SCALAR' and $rt ne 'GLOB' and $rt ne 'REF'
1781 0 56 0 $self->{'style'}{'deparse'} && $self->{'style'}{'deparseglob'}
0 28 0 $inc_format && $self->{'style'}{'deparse'} && $self->{'style'}{'deparseglob'}
1816 180 0 110 $$self{$type . 'du'}[$rhs] and ${$$self{$type . 'du'}[$rhs];}
1829 76 85 275 $$self{$type . 'du'}[$rhs] and ${$$self{$type . 'du'}[$rhs];}
1842 0 0 8 $self->{'refdu'}[$lhs] and ${$self->{'refdu'}[$lhs];}
1879 48 0 52 $self->{'svdu'}[$$_] && ${$self->{'svdu'}[$$_];}
1894 28 0 0 $Data::Dump::Streamer::DEBUG and $name
1899 25 0 3 defined &blessed($lhs) and overload::Overloaded($lhs)
1910 27 17 11 $t eq 'SCALAR' and not defined $$v
1937 0 28 0 $self->{'style'}{'deparse'} and $self->{'style'}{'deparseglob'}
2037 0 348 0 not $self->{'in_printit'} and @_ || !$self->{'cataloged'}
2092 346 2 0 $self->{'style'}{'compress'} and $self->{'style'}{'compressor'}
2114 0 0 348 $self->{'return'} and defined wantarray
2176 1154 0 93 $self->{'svd'}[$idx] == $depth && $self->{'svn'}[$idx] ne $clean_name && !($clean_name =~ /\*/) && !($name =~ /^\&/)
2187 1317 11 163 $pre_dumped and not $self->{'svon'}{$idx}
2192 316 0 0 $Data::Dump::Streamer::DEBUG and $self->{'svon'}{$idx}
0 0 0 $Data::Dump::Streamer::DEBUG and $self->{'svon'}{$idx} and $pre_dumped
0 0 0 $Data::Dump::Streamer::DEBUG and $self->{'svon'}{$idx} and $pre_dumped and $$pre_dumped
2202 116 34 70 $self->{'svd'}[$idx] == 1 and not $self->{'style'}{'declare'}
98 18 34 $pre_dumped and $$pre_dumped
2254 1175 0 0 $Data::Dump::Streamer::DEBUG and $self->{'special'}{$idx}
2267 597 0 139 $name ne $clean_name and not $name =~ /^\*/
597 0 139 $name ne $clean_name and not $name =~ /^\*/ and $self->{'svc'}[$idx] > 1
2288 543 0 189 $self->{'style'}{'declare'} && !($name =~ /^\*/) && !$self->{'lexicals'}{'added'}{$name}
2311 32 208 0 $self->{'style'}{'purity'} && !$ro && $is_ref && !&blessed($_[1]) && !$glob && do { my $rtype = &reftype($_[1]); $rtype eq 'SCALAR' and $] < 5.02 || !&readonly(${$_[1];}) unless $rtype eq '' }
2331 1082 42 10 $self->{'style'}{'ro'} && $ro && !$is_ref
2332 1124 9 1 $is_ro and not $self->{'style'}{'purity'}
2342 0 0 19 $self->{'style'}{'dumpglob'} and not $self->{'sv_glob_du'}{$glob}++
2351 960 150 2 &_could_be_dualvar($item) and 0 + $item ne $item
1110 0 2 &_could_be_dualvar($item) and 0 + $item ne $item and "$item" != $item
2359 1110 2 0 $style->{'compress'} and $style->{'compressor'}
0 0 2 $style->{'compress'} and $style->{'compressor'} and length $_[1] > $style->{'compress'}
2373 1124 10 0 $is_ro and $self->{'style'}{'purity'}
2383 1796 4 198 $is_ref && !$add_do
2499 0 1017 0 $ary and &reftype($ary) ne 'ARRAY'
2511 0 508 0 $keyary and $Data::Dump::Streamer::DEBUG
2517 4 504 0 $self->{'style'}{'indent'} && (!defined($self->{'ref_hkcnt'}{$addr}) || $self->{'ref_hkcnt'}{$addr} > 1)
2521 359 149 0 $ind && $self->{'style'}{'indentkeys'}
2539 10 0 686 $ind && !$last_n
2542 0 10 0 not $do_ind || $optspace and $self->{'buf'} > 1024
2570 1185 0 6 not $full_indent || $self->{'do_nl'} and $self->{'buf'} < 60
2592 4 44 342 $self->{'style'}{'indent'} && @$item > 1
2600 0 18 0 $ind && (!$last_n || ref $item->[$k])
2603 0 0 0 not $do_ind || $optspace and $self->{'buf'} > 1024
2617 18 0 0 not $full_indent || $self->{'do_nl'} and $self->{'buf'} < 60
2637 680 363 0 not &refaddr($item->[$k]) || &readonly($item->[$k]) and !$self->{'sv'}{&refaddr(\$item->[$k])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$item->[$k])}] == 1
2642 75 15 258 $k + $count <= $#$item and not &refaddr($$item[$k + $count])
90 0 258 $k + $count <= $#$item and not &refaddr($$item[$k + $count]) and not &readonly($$item[$k + $count])
15 258 0 $k + $count <= $#$item and not &refaddr($$item[$k + $count]) and not &readonly($$item[$k + $count]) and !$self->{'sv'}{&refaddr(\$$item[$k + $count])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$$item[$k + $count])}] == 1
14 20 224 $k + $count <= $#$item and not &refaddr($$item[$k + $count]) and not &readonly($$item[$k + $count]) and !$self->{'sv'}{&refaddr(\$$item[$k + $count])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$$item[$k + $count])}] == 1 and !$v == !$$item[$k + $count]
34 0 224 $k + $count <= $#$item and not &refaddr($$item[$k + $count]) and not &readonly($$item[$k + $count]) and !$self->{'sv'}{&refaddr(\$$item[$k + $count])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$$item[$k + $count])}] == 1 and !$v == !$$item[$k + $count] and defined $v == defined $$item[$k + $count]
2668 49 994 0 $ind && (!$last_n || ref $item->[$k])
2671 49 340 654 $do_ind and $k
2680 1025 0 18 not $full_indent || $self->{'do_nl'} and $self->{'buf'} < 60
2751 0 39 0 not defined $bless and $@
39 0 0 not defined $bless and $@ and $@ =~ /^Usage\:\ \-\>coderef2text\(CODEREF\)/
2831 0 0 9 $self->{'style'}{'dumpglob'} and not $self->{'sv_glob_du'}{$glob}++
2846 1752 232 19 $class and $class eq 'Regexp'
1984 0 19 $class and $class eq 'Regexp' and &is_regexp($item)
2867 1771 226 1 defined $class and $self->{'style'}{'ignore'}{".$class"}
2887 1626 189 182 $pre_dumped and $$pre_dumped
2909 227 36 38 $self->{'refn'}[$idx] =~ /^[\@\%\&]/ and not $self->{'style'}{'declare'}
2935 1368 120 26 defined $class and overload::Overloaded($item)
2949 3 1 0 $inline and $thawtype eq 'sub'
2955 1006 470 38 $type eq 'HASH' && &SvREADONLY_ref($item)
2972 1368 36 110 defined $class && !($name =~ /^[\@\%\&]/)
2973 1404 26 84 $add_bless and not $overloaded
3020 1506 4 4 $fix_lock and not defined $class
3081 56 4 0 @_ == 1 && &reftype($_[0]) eq 'ARRAY'
3086 0 133 0 $s and not $s =~ /^\*?\w+$/
3171 5 0 3 $val == 0 and length $self->{'style'}{'optspace'}
3530 0 2 0 @_ > 1 and @_ % 2
3620 8 1 0 @_ > 2 and @_ % 2
3643 0 5 0 !$subref || $name eq '.' and &reftype($subref) ne 'CODE'
3768 0 45 0 $cache{&Data::Dump::Streamer::refaddr($self)} and $cache{&Data::Dump::Streamer::refaddr($self)}{$targ}

or 2 conditions

line l !l condition
904 431 359 $indx or 0
323 467 $self->{'unames'} || []
930 151 4 &reftype($_[1]) || ''
947 0 0 shift() || \*STDOUT
955 0 0 $self->{'ref_id'} || 0
1038 0 0 shift() || ''
1170 0 7 $obj ||= 'Data::Dump::Streamer'
1239 0 0 $obj ||= 'Data::Dump::Streamer'
1277 0 0 $obj ||= 'Data::Dump::Streamer'
2163 0 0 $idx || 0
2423 2 49 $counts{$_} || 0
2809 0 0 $1 || 0

or 3 conditions

line l !l&&r !l&&!r condition
880 0 0 4764 not defined $key or $key eq ''
776 3456 532 $key =~ /$numeric_rex/ or $key =~ /\A-?[A-Za-z_]\w*\z/
907 424 0 79 &blessed($_[1]) || &reftype($_[1]) || (&readonly($_[1]) && \$_[1] != \(undef) ? 'RO' : 'VAR')
913 0 2 0 $self->{'type_abrv'}{$name} ||= $name
992 2911 296 1372 $name =~ /^([\@\%\$])(\w+)$/ or $sigil
3207 36 1336 $name =~ /^([\@\%\$])(\w+)$/ or $sigil or $name =~ /^\*.*\{(?:SCALAR|HASH|ARRAY)\}$/
997 2764 0 479 not $name =~ s/^[\@\%]/\$/ or $sigil
1012 637 16 479 $name =~ /[\[\{]/ or $name =~ /^\*/
1166 1 7 0 $obj ||= 'Data::Dump::Streamer'->new
1222 0 19 0 $pad_vars{&refaddr($ref)} ||= $var
1234 0 2 0 $obj ||= 'Data::Dump::Streamer'->new
1272 0 1 0 $obj ||= 'Data::Dump::Streamer'->new
1423 347 0 0 $args_insideout{&refaddr($self)} || Carp::carp('No arguments!')
1490 0 0 2276 $self->{'style'}{'ignore'}{"#$raddr"} or $class and $self->{'style'}{'ignore'}{".$class"}
1570 180 349 1048 $reftype eq 'SCALAR' or $reftype eq 'REF'
529 19 1029 $reftype eq 'SCALAR' or $reftype eq 'REF' or $reftype eq 'GLOB'
1910 57 0 55 not defined $v or $t eq 'SCALAR' and not defined $$v
2037 0 7 341 @_ || !$self->{'cataloged'}
2166 3563 1 0 $name ||= $self->{'svn'}[$idx]
2187 141 12 1015 $self->{'svd'}[$idx] < $depth || $name_diff
163 0 1328 $pre_dumped and not $self->{'svon'}{$idx} or !$self->{'svon'}{$idx} ? $self->{'svd'}[$idx] < $depth || $name_diff : undef
2202 70 0 150 $self->{'svd'}[$idx] == 1 and not $self->{'style'}{'declare'} or $pre_dumped and $$pre_dumped
2251 11 1164 0 $self->{'svdu'}[$idx] ||= $dumped
2489 6 0 1011 $self->{'style'}{'sortkeys'}{"#$addr"} || $self->{'cache_sorter'}{$class}
2493 0 0 226 $self->{'style'}{'sortkeys'}{".$class"} || $class && $class->can('DDS_sortkeys') || $self->{'style'}{'sortkeys'}{'.'}
2496 12 226 0 $sorter ||= $default_key_sorters{'smart'}
2542 0 0 10 $do_ind || $optspace
2570 1177 8 6 $full_indent || $self->{'do_nl'}
2603 0 0 0 $do_ind || $optspace
2617 18 0 0 $full_indent || $self->{'do_nl'}
2637 671 9 363 &refaddr($item->[$k]) || &readonly($item->[$k])
291 2 70 !$self->{'sv'}{&refaddr(\$item->[$k])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$item->[$k])}] == 1
2642 240 4 14 !$self->{'sv'}{&refaddr(\$$item[$k + $count])} || $self->{'svt'}[$self->{'sv'}{&refaddr(\$$item[$k + $count])}] == 1
2680 1025 0 18 $full_indent || $self->{'do_nl'}
2867 5 1993 0 $raddr || $addr
0 0 1998 $ignore or $self->{'style'}{'ignore'}{'#' . ($raddr || $addr)}
0 0 1998 $ignore or $self->{'style'}{'ignore'}{'#' . ($raddr || $addr)} or defined $class and $self->{'style'}{'ignore'}{".$class"}
2887 189 112 1514 $pre_dumped or $self->{'refd'}[$idx] < $depth
2929 0 1514 0 $self->{'refdu'}[$idx] ||= $dumped
2940 4 1510 0 $raddr or $addr
2978 159 343 1012 $type eq 'SCALAR' or $type eq 'REF'
502 19 993 $type eq 'SCALAR' or $type eq 'REF' or $type eq 'GLOB'
0 0 49 $type eq 'ORANGE' or $type eq 'Regexp'
0 49 0 $type eq 'ORANGE' or $type eq 'Regexp' or $type eq 'REGEXP'
3041 4 1510 0 $raddr or $addr
3171 3 0 2 $self->{'style'}{'indent'} || length $self->{'style'}{'optspace'}
3634 0 0 0 $self->{'style'}{'sortkeys_string'}{$name} || $self->{'style'}{'sortkeys'}{$name}
3643 0 5 0 !$subref || $name eq '.'
3646 5 0 0 $subref ||= $obj->can($val)
3647 0 0 0 ref $obj || $obj