Branch Coverage

blib/lib/Data/Transmute.pm
Criterion Covered Total %
branch 143 150 95.3


line true false branch
23 62 1 $args{'transmute_object'} // 1 ? :
17 46 unless $args{'transmute_object'} // 1 ? XXX : XXX
26 1 45 unless defined $name
28 7 38 if (exists $data->{$name})
29 1 6 if $args{'ignore'}
30 1 5 unless $args{'replace'}
33 1 1 unless exists $args{'value'} or $args{'value_code'}
34 1 41 $args{'value_code'} ? :
39 1 29 if $args{'value_code'}
40 1 28 if $args{'ignore'}
41 1 27 if $args{'replace'}
49 23 0 $args{'transmute_object'} // 1 ? :
2 21 unless $args{'transmute_object'} // 1 ? XXX : XXX
52 1 20 unless defined $from
54 1 19 unless defined $to
57 0 19 if $from eq $to
59 2 17 unless (exists $data->{$from})
60 1 1 unless $args{'ignore_missing_from'}
63 3 14 if (exists $data->{$to})
64 1 2 if $args{'ignore_existing_target'}
65 1 1 unless $args{'replace'}
72 1 10 if $args{'ignore_missing_from'}
73 1 9 if $args{'ignore_existing_target'}
74 1 8 if $args{'replace'}
87 11 2 $args{'transmute_object'} // 1 ? :
4 9 unless $args{'transmute_object'} // 1 ? XXX : XXX
90 1 8 unless defined $name
95 0 1 unless exists $args{'to'} or $args{'to_code'}
99 7 1 $from_exists ? :
1 7 $args{'to_code'} ? :
101 1 7 unless (exists $data->{$name})
107 1 6 if $args{'to_code'}
109 6 1 if ($from_exists)
111 0 6 unless Data::Cmp::cmp_data($from, $to)
113 1 5 if (Data::Cmp::cmp_data($cur, $from))
123 1 5 unless exists $args{'from'}
124 1 4 if $args{'to_code'}
135 41 2 $args{'transmute_object'} // 1 ? :
4 39 unless $args{'transmute_object'} // 1 ? XXX : XXX
138 1 38 unless defined $name
151 17 2 $args{'transmute_object'} // 1 ? :
4 15 unless $args{'transmute_object'} // 1 ? XXX : XXX
154 1 14 unless defined $args{'rules'} or defined $args{'rules_module'}
160 6 32 if (defined $args{'index_is'})
161 4 2 unless $idx == $args{'index_is'}
163 6 28 if (defined $args{'index_in'})
164 2 4 unless grep {$idx == $_;} @{$args{'index_in'};}
166 6 26 if (defined $args{'index_match'})
167 2 4 unless $idx =~ /$args{'index_match'}/
169 6 24 if (defined $args{'index_filter'})
170 2 4 unless $args{'index_filter'}->('index', $idx, 'array', $data, 'rules', $args{'rules'})
201 17 2 $args{'transmute_object'} // 1 ? :
4 15 unless $args{'transmute_object'} // 1 ? XXX : XXX
204 1 14 unless defined $args{'rules'} or defined $args{'rules_module'}
208 6 32 if (defined $args{'key_is'})
209 4 2 unless $key eq $args{'key_is'}
211 6 28 if (defined $args{'key_in'})
212 2 4 unless grep {$key eq $_;} @{$args{'key_in'};}
214 6 26 if (defined $args{'key_match'})
215 2 4 unless $key =~ /$args{'key_match'}/
217 6 24 if (defined $args{'key_filter'})
218 2 4 unless $args{'key_filter'}->('key', $key, 'hash', $data, 'rules', $args{'rules'})
255 9 11 unless $refaddr
256 0 11 if $seen->{$refaddr}++
258 2 9 $rule_args->{'recurse_object'} ? :
1 5 $rule_args->{'recurse_object'} ? :
5 6 if ($rule_args->{'recurse_object'} ? XXX : XXX) { }
5 1 elsif ($rule_args->{'recurse_object'} ? XXX : XXX) { }
277 0 3 unless defined $args{'rules'} or defined $args{'rules_module'}
292 7 230 unless ($rules)
293 6 1 if (defined $args->{'rules_module'})
300 1 236 unless $rules
307 1 171 unless exists $args{'data'}
314 0 184 if ($ENV{'LOG_DATA_TRANSMUTE_STEP'})
320 1 183 unless defined &{$funcname;}