Condition Coverage

lib/Data/Deep.pm
Criterion Covered Total %
condition 105 166 63.2


and 3 conditions

line !l l&&!r l&&r condition
249 0 0 0 @_ and $Data::Deep::CFG->{'zap'} = shift()
266 122 15 9 @_ and $Data::Deep::CFG->{'o_complex'} = shift()
12793 1 0 @_ and $Data::Deep::CFG->{'o_debug'} = shift()
0 0 1 @_ and $Data::Deep::CFG->{'o_follow_ref'} = shift()
326 0 0 0 ref $l and out__("\n" . __d($l))
458 0 1 3 @_ and $Data::Deep::CFG->{'o_key'} = shift()
688 1 0 62 defined $node and $node = "'${node}'"
730 9199 0 737 $realpack and $realtype
9199 0 737 $realpack and $realtype and $id
740 4666 0 4584 $ref eq 'HASH' and $_[-2] eq '%'
750 7 0 4659 $ref eq 'ARRAY' and $_[-2] eq '@'
7 1373 3286 $ref eq 'ARRAY' and $_[-2] eq '@' and $_[-1] != 0
886 11739 0 43 $realpack and $realtype
11739 3 40 $realpack and $realtype and $id
1026 50 23 57 $k eq 'SCALAR' and not defined $$gval
1100 16 2743 0 defined $nb_occ and $nb_occ < 1
1116 665 0 11 $realpack and $realtype
665 0 11 $realpack and $realtype and $id
1138 0 63 1 defined $nb_occ and --$nb_occ < 1
1155 0 24 1 defined $nb_occ and --$nb_occ < 1
1178 0 10 4 defined *$where{'SCALAR'} and defined ${*$where{'SCALAR'};}
1344 0 0 0 @a1 and @a2
1346 0 0 0 $_ eq pop @a2 and unshift @common, $_
1359 368 76 26 $p1->{'action'} eq 'remove' and $p2->{'action'} eq 'add'
444 18 8 $p1->{'action'} eq 'remove' and $p2->{'action'} eq 'add' and __d($p1->{'val_orig'}) eq __d($p2->{'val_dest'})
1383 100 0 8 $patch[$o]{'action'} eq 'erase' and splice @patch, $o, 1
1410 377 0 2 $realpack and $realtype
377 0 2 $realpack and $realtype and $id
1430 14 393 83 defined $d1 and $d1 ne $d2
1431 393 12 2 not defined $d1 and defined $d2
1581 142 0 29 ref $res_Eq[$_] and ref $src
142 12 17 ref $res_Eq[$_] and ref $src and ref $dst
1589 5 0 12 $src->{'action'} eq 'remove' and $dst->{'action'} eq 'add'
5 0 12 $src->{'action'} eq 'remove' and $dst->{'action'} eq 'add' and push @msg, @{$res_Eq[$_];}
1628 0 9 5 defined *$d1{'SCALAR'} and defined ${*$d1{'SCALAR'};}
1645 0 10 4 defined *$d2{'SCALAR'} and defined ${*$d2{'SCALAR'};}
1988 0 0 0 ref $_ eq 'ARRAY' and do { push @res, join('', @{$_;}); next }
0 262 0 ref $patch eq 'HASH' and do { die 'domPatch2TEXT(): bad internal dom structure ' . __d($patch) unless exists $patch->{'action'}; my $action = $patch->{'action'}; my $v1 = $patch->{'val_orig'}; my $v2 = $patch->{'val_dest'}; my $txt = $action . '(' . &patternDom2Text($patch->{'path_orig'}) . ',' . &patternDom2Text($patch->{'path_dest'}) . ')='; if ($action eq 'remove' or $action eq 'change') { $v1 = __d($v1); $v1 =~ s[/=>][/\\054>]g; $v1 =~ s/\s=>\s/=>/gs; $txt .= $v1; } ; $txt .= '/=>' if $action eq 'change'; if ($action eq 'add' or $action eq 'change') { $v2 = __d($v2); $v2 =~ s[/=>][/\\054>]g; $v2 =~ s/\s=>\s/=>/gs; $txt .= $v2; } ; push @res, $txt; next }
2038 0 0 0 /^change$/ and $msg .= __d($patch->{'val_orig'}) . ' changed in ' . __d($patch->{'val_dest'})
0 0 0 /^add$/ and $msg .= __d($patch->{'val_orig'}) . ' added'
0 0 0 /^remove$/ and $msg .= __d($patch->{'val_orig'}) . ' removed'
0 0 0 /^move$/ and $msg .= 'Moved '
2112 78 346 3 defined $path[-1] and $path[-1] =~ /^\?/
424 0 3 defined $path[-1] and $path[-1] =~ /^\?/ and /^[\=\%\$\@\%\*]/
2128 181 68 3 $path[-2] eq '/' and exists $keys{$path[-1]}
2217 2 0 17 $action eq 'add' and $v2 = $patch

or 2 conditions

line l !l condition
824 11774 8 shift() || \&Data::Deep::visitor_patch
825 9942 1840 shift() || 0

or 3 conditions

line l !l&&r !l&&!r condition
732 302 264 9370 $ref eq 'REF' or $ref eq 'SCALAR'
921 306 266 146 $ref_type eq 'REF' or $ref_type eq 'SCALAR'
1127 73 37 29 $ref_type eq 'REF' or $ref_type eq 'SCALAR'
1428 30 35 15 $ref_type eq 'REF' or $ref_type eq 'SCALAR'
1969 38 130 94 $action eq 'remove' or $action eq 'change'
1978 63 130 69 $action eq 'add' or $action eq 'change'
2038 0 0 0 /^add$/ and $msg .= __d($patch->{'val_orig'}) . ' added' or /^remove$/ and $msg .= __d($patch->{'val_orig'}) . ' removed'
0 0 0 /^add$/ and $msg .= __d($patch->{'val_orig'}) . ' added' or /^remove$/ and $msg .= __d($patch->{'val_orig'}) . ' removed' or /^move$/ and $msg .= 'Moved '