Branch Coverage

blib/lib/Flat/Schema.pm
Criterion Covered Total %
branch 148 236 62.7


line true false branch
23 0 8 unless (exists $args{'profile'})
28 0 8 if (ref $profile ne "HASH")
33 0 8 unless (defined $report_version and $report_version =~ /\A\d+\z/)
36 0 8 if ($report_version < 1)
41 0 8 if (ref $profile_columns ne "ARRAY")
46 1 7 if (exists $args{'overrides'})
48 0 1 if (defined $overrides and ref $overrides ne "ARRAY")
92 2 6 if (exists $profile->{'null_empty'})
93 2 0 $profile->{'null_empty'} ? :
95 2 6 if (exists $profile->{'null_tokens'} and ref $profile->{'null_tokens'} eq "ARRAY")
99 4 0 if (exists $profile->{'rows_profiled'} and defined $profile->{'rows_profiled'} and $profile->{'rows_profiled'} =~ /\A\d+\z/)
118 0 17 if (ref $col ne "HASH")
122 0 17 unless (exists $col->{'index'} and defined $col->{'index'} and $col->{'index'} =~ /\A\d+\z/)
128 17 0 exists $col->{'name'} ? :
129 0 17 if (defined $name and ref $name ne "")
141 13 0 if (exists $col->{'rows_observed'} and defined $col->{'rows_observed'} and $col->{'rows_observed'} =~ /\A\d+\z/)
146 13 0 if (exists $col->{'null_count'} and defined $col->{'null_count'} and $col->{'null_count'} =~ /\A\d+\z/)
185 11 6 if ($rows_observed > 0)
189 6 11 if ($rows_observed == 0)
194 6 5 $null_count > 0 ? :
196 1 10 if ($null_count == $rows_observed)
211 4 0 if (exists $profile->{'rows_profiled'} and defined $profile->{'rows_profiled'} and $profile->{'rows_profiled'} =~ /\A\d+\z/)
216 4 4 if (defined $rows_profiled) { }
217 1 3 $rows_profiled == 0 ? :
219 3 1 $any_rows_observed ? :
222 2 6 if ($no_rows)
241 7 1 unless (defined $overrides_in)
248 0 2 if (ref $entry ne "HASH")
252 0 2 unless (exists $entry->{'column_index'} and defined $entry->{'column_index'} and $entry->{'column_index'} =~ /\A\d+\z/)
258 0 2 if (not exists $entry->{'set'} or ref $entry->{'set'} ne "HASH")
266 0 5 unless ($allowed{$k})
271 1 1 if (exists $set{'type'})
272 0 1 if (not defined $set{'type'} or ref $set{'type'} ne "")
277 2 0 if (exists $set{'nullable'})
278 0 2 if (not defined $set{'nullable'} or ref $set{'nullable'} ne "")
281 1 1 $set{'nullable'} ? :
284 1 1 if (exists $set{'name'})
285 0 1 if (defined $set{'name'} and ref $set{'name'} ne "")
290 1 1 if (exists $set{'length'})
291 0 1 if (not defined $set{'length'} or ref $set{'length'} ne "HASH")
299 0 2 unless ($len_allowed{$lk})
302 0 2 if (defined $len{$lk} and not $len{$lk} =~ /\A\d+\z/)
305 2 0 if defined $len{$lk}
311 2 0 unless exists $map{$idx}
323 7 1 unless %$overrides_map
328 0 2 unless (exists $col_by_index{$idx})
340 1 4 if ($field eq "length")
341 0 1 exists $col->{'length'} ? :
344 1 0 if ($different)
375 2 0 if (@fields_applied)
398 0 1 unless (defined $a or defined $b)
401 1 0 unless (defined $a and defined $b)
404 0 0 if (ref $a ne "HASH" or ref $b ne "HASH")
409 0 0 exists $a->{$k} ? :
410 0 0 exists $b->{$k} ? :
412 0 0 if (defined $av != defined $bv)
415 0 0 if (defined $av and defined $bv and int $av != int $bv)
431 2 2 if ($field eq "nullable")
432 1 1 $override_value ? :
435 4 0 exists $col->{$field} ? :
438 0 4 if (not defined $inferred_value || defined $override_value) { }
0 4 elsif (not defined $inferred_value && defined $override_value) { }
443 4 0 $inferred_value ne $override_value ? :
446 4 0 if ($different)
452 4 0 defined $override_value ? :
4 0 defined $inferred_value ? :
469 2 3 if not exists $col->{'overrides'} or ref $col->{'overrides'} ne "HASH"
471 1 4 if ($field eq "length")
490 0 6 if (not defined $evidence or ref $evidence ne "HASH" or not %$evidence)
500 0 6 unless (@present)
504 6 3 unless $_ eq "date"
505 6 3 if $_ ne "date"
507 1 5 if (@temporal and @other)
525 2 3 if (@temporal)
526 1 1 if (grep {$_ eq "datetime";} @temporal)
527 1 0 if (@temporal > 1)
553 1 2 if (@present > 1)
586 17 0 exists $Flat::Schema::a->{'level'} ? :
587 17 0 exists $Flat::Schema::b->{'level'} ? :
589 17 0 exists $level_rank{$la} ? :
590 17 0 exists $level_rank{$lb} ? :
608 0 9 if ($a_is_undef and $b_is_undef)
611 0 9 if ($a_is_undef)
614 0 9 if ($b_is_undef)
624 1 9 unless (defined $details)
628 9 0 if (ref $details eq "HASH")
634 0 26 if (not defined $v) { }
0 26 elsif (ref $v eq 'ARRAY') { }
0 26 elsif (ref $v eq 'HASH') { }
643 0 0 defined $iv ? :
654 0 0 if (ref $details eq "ARRAY")
668 0 2 unless (exists $args{'schema'})
679 0 2 unless (exists $args{'schema'})
690 0 74 unless (defined $value)
696 50 24 if ($ref eq "")
697 30 20 if ($value =~ /\A-?(?:0|[1-9]\d*)\z/)
703 6 18 if ($ref eq "ARRAY")
711 18 0 if ($ref eq "HASH")
746 0 74 unless (defined $value)
752 50 24 if ($ref eq "")
753 30 20 if ($value =~ /\A-?(?:0|[1-9]\d*)\z/)
759 6 18 if ($ref eq "ARRAY")
760 2 4 unless (@$value)
769 4 4 if (not defined $item or $item_ref eq '') { }
779 18 0 if ($ref eq "HASH")
782 0 18 unless (@keys)
791 46 18 if (not defined $v or $v_ref eq '') { }
830 4 32 unless (@$path)
845 24 0 if (@$path >= 2 and $path->[0] eq "columns" and $path->[1] =~ /\A\d+\z/)
861 0 0 if (@$path >= 3 and $path->[0] eq "columns" and $path->[2] eq "length")
867 0 0 if (@$path >= 3 and $path->[0] eq "columns" and $path->[2] eq "overrides")
873 4 4 if (@$path >= 1 and $path->[0] eq "generator")
879 4 0 if (@$path >= 1 and $path->[0] eq "profile")
885 0 0 if (@$path >= 3 and $path->[0] eq "columns" and $path->[2] eq "provenance")
900 0 0 if (@$path >= 4 and $path->[0] eq "columns" and $path->[3] eq "null_rate")
906 0 0 if (@$path >= 2 and $path->[0] eq "issues" and $path->[1] =~ /\A\d+\z/)
919 110 48 exists $rank->{$a} ? :
920 110 48 exists $rank->{$b} ? :