Branch Coverage

blib/lib/Data/Tersify.pm
Criterion Covered Total %
branch 60 62 96.7


line true false branch
140 13 280 if (my $terse_object = $refaddr_tersified_as{&refaddr($data_structure)})
145 64 216 unless (ref $data_structure)
151 2 214 if (ref $data_structure eq 'REF')
155 1 1 unless ($changed)
163 14 200 if $seen_refaddr{&refaddr($data_structure)}++
166 73 127 if (&blessed($data_structure))
168 35 38 if ($changed)
181 57 157 $this_value_changed ? :
184 14 113 if (ref $data_structure eq 'ARRAY') { }
112 1 elsif (ref $data_structure eq 'HASH') { }
189 10 4 unless ($changed)
198 72 40 unless ($changed)
210 42 2 if (not $safe_to_mess_with_refaddr{&refaddr($data_structure)}) { }
225 27 46 if (ref $data_structure eq 'Data::Tersify::Summary')
236 19 27 unless ($changed)
237 19 0 if (my $overload_info = Devel::OverloadInfo::overload_info($data_structure))
240 2 17 if ($overload_info->{'""'})
256 25 19 if ($changed and $caller_sub ne 'Data::Tersify::tersify')
263 14 5 if (&reftype($data_structure) eq 'HASH') { }
2 3 elsif (&reftype($data_structure) eq 'ARRAY') { }
268 16 3 if ($object_contents)
271 8 8 if ($changed)
273 5 3 if (not $safe_to_mess_with_refaddr{&refaddr($data_structure)}) { }
305 3 2 if (&reftype($safe_structure) eq 'HASH' and &reftype($new_contents) eq 'HASH') { }
2 0 elsif (&reftype($safe_structure) eq 'ARRAY' and &reftype($new_contents) eq 'ARRAY') { }
355 1 45 unless (keys %handled_by_plugin)
364 1 45 unless ($subclass_lookup_initialised)
366 1 2 if ($plugin->can('handles_subclasses') and $plugin->handles_subclasses)
378 21 25 if (not $chosen_plugin and keys %plugin_handles_subclasses)
382 2 19 if ($object->isa($class))
391 27 19 if ($chosen_plugin)