Branch Coverage

lib/Brannigan.pm
Criterion Covered Total %
branch 105 128 82.0


line true false branch
866 8 12 if $value eq $_
970 2 16 if $sl > $integer
997 2 16 if $sl > $integer
1008 38 2 ref $value eq 'ARRAY' ? :
0 0 ref $value eq 'ARRAY' ? :
40 0 if ($boolean) { }
1021 44 2 ref $value eq 'HASH' ? :
0 0 ref $value eq 'HASH' ? :
46 0 if ($boolean) { }
1048 0 0 ref $value eq 'ARRAY' ? :
0 0 if defined $value
1076 0 145 unless defined $name and length $name
1077 0 145 unless ref $schema eq "HASH"
1102 0 2470 unless $name and $code and ref $code eq "CODE"
1116 3 2 if (defined $value)
1117 1 2 unless $value =~ /^(ignore|remove|reject)$/
1156 306 86 if (scalar @_ == 3 and ref $_[0] eq __PACKAGE__)
1167 60 246 if ($rejects)
1194 20 93 ref $_[0] eq 'ARRAY' ? :
1207 24 293 if exists $self->{'_schema_cache'}{$schema_name}
1213 10 283 if ($schema->{'inherits_from'})
1219 9 0 $schema->{'inherits_from'} ? :
1 9 $schema->{'inherits_from'} && ref $schema->{'inherits_from'} eq 'ARRAY' ? :
1256 60 246 if scalar keys %$rejects
1269 46 384 if ($rules->{'hash'}) { }
40 344 elsif ($rules->{'array'}) { }
1292 99 328 if $a eq "required"
1293 83 245 if $b eq "required"
1301 69 552 if $v eq "postprocess" or $v eq "preprocess" or $v eq "default" or $v eq "values" or $v eq "keys"
1307 155 27 if $v eq "required" and $rules->{$v}
1309 12 245 unless $is_required or defined $value
1315 40 500 ref $rules->{$v} eq 'ARRAY' ? :
1318 9 531 $v eq 'validate' ? :
1320 70 470 unless (&$validator_func($value, @args))
1321 4 66 if ($v eq 'validate') { }
1324 11 55 scalar @args > 1 ? :
1329 5 65 if ($v eq "required" and $is_required)
1346 4 36 if exists $rejects->{$name}
1349 28 8 if ($rules->{'values'})
1370 2 44 if exists $rejects->{$name}
1373 7 37 if ($rules->{'keys'} and $self->{'handle_unknown'} ne "ignore")
1379 40 4 if ($rules->{'keys'})
1414 254 27 unless defined $rules->{'default'} and not defined $params->{$name} or defined $rules->{'preprocess'} and defined $params->{$name} or $rules->{'hash'} and $rules->{'keys'} or $rules->{'array'} and $rules->{'values'}
1417 78 53 if (defined $rules->{'default'} and not defined $params->{$name})
1421 23 55 ref $rules->{'default'} eq 'CODE' ? :
1425 16 115 if (defined $rules->{'preprocess'} and defined $params->{$name})
1430 131 0 if (defined $params->{$name})
1431 13 118 if ($rules->{'hash'} and $rules->{'keys'} and ref $params->{$name} eq 'HASH') { }
29 92 elsif ($rules->{'array'} and $rules->{'values'} and ref $params->{$name} eq 'ARRAY') { }
1446 27 0 if ($rules->{'values'}{'hash'} and $rules->{'values'}{'keys'} and ref $params->{$name}[$i] eq "HASH")
1476 176 7 unless defined $schema->{'params'}{$param}{'postprocess'}
1483 7 239 if ($schema->{'postprocess'} and ref $schema->{'postprocess'} eq "CODE")
1496 297 9 if $self->{'handle_unknown'} eq "ignore"
1501 11 15 unless exists $rules->{$param}
1504 4 5 if ($self->{'handle_unknown'} eq 'remove') { }
5 0 elsif ($self->{'handle_unknown'} eq 'reject') { }
1524 0 7 if $self->{'handle_unknown'} eq "ignore"
1525 0 7 unless ref $value eq "HASH"
1530 7 14 unless exists $expected_keys->{$key}
1533 2 5 if ($self->{'handle_unknown'} eq 'remove') { }
5 0 elsif ($self->{'handle_unknown'} eq 'reject') { }
1541 5 0 $path ? :
1558 0 145 if $name eq "__brannigan_schema_validator__"
1571 0 145 if $rejects