Branch Coverage

blib/lib/Data/Transform/ExplicitMetadata.pm
Criterion Covered Total %
branch 137 164 83.5


line true false branch
25 0 5 unless FileHandle::Fmode::is_FH($fh)
28 2 3 if (FileHandle::Fmode::is_WO($fh)) { }
2 1 elsif (FileHandle::Fmode::is_RW($fh)) { }
29 1 1 $is_append ? :
31 1 1 $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 63 75 unless (ref $value)
72 1 62 if ($ref eq 'GLOB' or $ref eq 'VSTRING' or &Scalar::Util::isvstring($value))
92 7 68 if ($seen->{$value})
97 1 6 if $blesstype
104 28 74 if $reftype eq 'SCALAR' or $reftype eq 'REF'
105 32 42 if $reftype eq 'GLOB'
107 27 15 $reftype eq 'ARRAY' ? :
111 4 64 if (my $tied = _is_tied($value))
116 3 1 ref $original ? :
119 0 4 if $blesstype
123 7 57 if ($reftype eq 'HASH') { }
12 45 elsif ($reftype eq 'ARRAY') { }
14 31 elsif ($reftype eq 'GLOB') { }
1 30 elsif ($reftype eq 'REGEXP' or $reftype eq 'SCALAR' and defined $blesstype and $blesstype eq 'Regexp') { }
2 28 elsif ($reftype eq 'CODE') { }
7 21 elsif ($reftype eq 'REF') { }
2 19 elsif ($reftype eq 'VSTRING' or ref $value eq 'SCALAR' and &Scalar::Util::isvstring($$value)) { }
19 0 elsif ($reftype eq 'SCALAR') { }
136 1 13 if (*{$value;}{'CODE'})
139 12 2 if (*{$value;}{'IO'})
140 12 0 if ($encoded_value{'IO'} = encode(fileno *{$value;}{'IO'}, &$_p, $seen))
151 1 0 unless $blesstype ne 'Regexp'
153 1 0 if ($^V ge v5.9.5)
156 1 0 if (defined &re::regexp_pattern) { }
176 6 58 if $blesstype
186 9 63 if ($reftype eq 'HASH') { }
14 49 elsif ($reftype eq 'ARRAY') { }
21 28 elsif ($reftype eq 'SCALAR') { }
16 12 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 50 unless (ref $input)
319 7 43 if ($input->{'__recursive'}) { }
4 39 elsif ($input->{'__tied'}) { }
8 31 elsif ($reftype eq 'SCALAR') { }
11 20 elsif ($reftype eq 'ARRAY') { }
6 14 elsif ($reftype eq 'HASH') { }
3 11 elsif ($reftype eq 'GLOB') { }
1 10 elsif ($reftype eq 'CODE') { }
7 3 elsif ($reftype eq 'REF') { }
1 2 elsif ($reftype eq 'REGEXP') { }
2 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 1 1 $refaddr ? :
390 6 44 if $blessed and not $input->{'__recursive'}
392 21 29 if ($is_first_invocation)
406 0 50 unless ref $input eq 'HASH'
410 0 50 unless exists $input->{'__value'}
412 0 50 unless exists $input->{'__reftype'}
418 0 44 unless $reftype eq 'GLOB' or $reftype eq 'VSTRING' or exists $input->{'__refaddr'}
420 0 50 unless $blesstype and $reftype or not $blesstype
446 0 50 unless $compatible_references