Branch Coverage

blib/lib/Data/Transform/ExplicitMetadata.pm
Criterion Covered Total %
branch 115 164 70.1


line true false branch
25 0 0 unless FileHandle::Fmode::is_FH($fh)
28 0 0 if (FileHandle::Fmode::is_WO($fh)) { }
0 0 elsif (FileHandle::Fmode::is_RW($fh)) { }
29 0 0 $is_append ? :
31 0 0 $is_append ? :
42 0 7 unless $flags
45 3 4 if ($flags & 1) { }
2 2 elsif ($flags & 2) { }
46 1 2 $is_append ? :
48 1 1 $is_append ? :
67 52 59 unless (ref $value)
72 0 52 if ($ref eq 'GLOB' or $ref eq 'VSTRING' or &Scalar::Util::isvstring($value))
92 7 52 if ($seen->{$value})
97 1 6 if $blesstype
104 22 64 if $reftype eq 'SCALAR' or $reftype eq 'REF'
105 22 42 if $reftype eq 'GLOB'
107 27 15 $reftype eq 'ARRAY' ? :
111 4 48 if (my $tied = _is_tied($value))
116 3 1 ref $original ? :
119 0 4 if $blesstype
123 6 42 if ($reftype eq 'HASH') { }
12 30 elsif ($reftype eq 'ARRAY') { }
9 21 elsif ($reftype eq 'GLOB') { }
0 21 elsif ($reftype eq 'REGEXP' or $reftype eq 'SCALAR' and defined $blesstype and $blesstype eq 'Regexp') { }
1 20 elsif ($reftype eq 'CODE') { }
6 14 elsif ($reftype eq 'REF') { }
0 14 elsif ($reftype eq 'VSTRING' or ref $value eq 'SCALAR' and &Scalar::Util::isvstring($$value)) { }
14 0 elsif ($reftype eq 'SCALAR') { }
136 1 8 if (*{$value;}{'CODE'})
139 7 2 if (*{$value;}{'IO'})
140 7 0 if ($encoded_value{'IO'} = encode(fileno *{$value;}{'IO'}, &$_p, $seen))
151 0 0 unless $blesstype ne 'Regexp'
153 0 0 if ($^V ge v5.9.5)
156 0 0 if (defined &re::regexp_pattern) { }
176 6 42 if $blesstype
186 8 48 if ($reftype eq 'HASH') { }
14 34 elsif ($reftype eq 'ARRAY') { }
16 18 elsif ($reftype eq 'SCALAR') { }
11 7 elsif ($reftype eq 'GLOB') { }
206 0 4 if (not $reftype) { }
1 3 elsif ($reftype eq 'SCALAR') { }
1 2 elsif ($reftype eq 'ARRAY') { }
1 1 elsif ($reftype eq 'HASH') { }
1 0 elsif ($reftype eq 'GLOB') { }
237 2 6 if ($reftype eq 'SCALAR') { }
2 4 elsif ($reftype eq 'ARRAY') { }
2 2 elsif ($reftype eq 'HASH') { }
2 0 elsif ($reftype eq 'GLOB') { }
265 1 7 if ($type eq 'SCALAR') { }
1 6 elsif ($type eq 'ARRAY') { }
1 5 elsif ($type eq 'HASH') { }
5 0 elsif ($type eq 'GLOB') { }
274 4 1 if ($package and $name and $package ne 'Symbol' and not $name =~ /GEN\d/) { }
293 0 1 if ($mode) { }
294 0 0 unless open $fh, $mode . '&=', $fileno
298 0 1 unless open $fh, '>&=', $fileno or open $fh, '<&=', $fileno
308 27 44 unless (ref $input)
319 7 37 if ($input->{'__recursive'}) { }
4 33 elsif ($input->{'__tied'}) { }
8 25 elsif ($reftype eq 'SCALAR') { }
11 14 elsif ($reftype eq 'ARRAY') { }
5 9 elsif ($reftype eq 'HASH') { }
3 6 elsif ($reftype eq 'GLOB') { }
0 6 elsif ($reftype eq 'CODE') { }
6 0 elsif ($reftype eq 'REF') { }
0 0 elsif ($reftype eq 'REGEXP') { }
0 0 elsif ($reftype eq 'VSTRING') { }
357 0 8 if $type eq 'NAME' or $type eq 'PACKAGE' or $type eq 'IOseek' or $type eq 'IOmode'
358 1 7 if ($type eq 'IO') { }
1 6 elsif ($type eq 'CODE') { }
359 1 0 if (my $fileno = $value->{'IO'})
363 0 1 unless $is_real_glob
370 0 3 unless $refaddr
386 0 0 $refaddr ? :
390 6 38 if $blessed and not $input->{'__recursive'}
392 16 28 if ($is_first_invocation)
406 0 44 unless ref $input eq 'HASH'
410 0 44 unless exists $input->{'__value'}
412 0 44 unless exists $input->{'__reftype'}
418 0 40 unless $reftype eq 'GLOB' or $reftype eq 'VSTRING' or exists $input->{'__refaddr'}
420 0 44 unless $blesstype and $reftype or not $blesstype
446 0 44 unless $compatible_references