Branch Coverage

blib/lib/Brannigan/Tree.pm
Criterion Covered Total %
branch 118 128 92.1


line true false branch
56 5 4 if $rejects
83 24 112 if $$rules{'_all'}
85 738 116 unless $param =~ m[^/([^/]+)/$]
87 52 64 if /$re/
89 116 20 if $$rules{$_}
93 68 68 if $rj
98 9 158 if $_ eq '_all'
99 22 136 if m[^/[^/]+/$]
100 7 40 if $$rules{$_}{'required'} and !defined($$params{$_}) || $$params{$_} eq ''
122 22 165 if m[^/[^/]+/$]
123 131 34 unless not defined $$params{$_} or $$params{$_} eq ''
126 3 31 if (exists $$param_rules{$_}{'default'} and ref $$param_rules{$_}{'default'} eq 'CODE') { }
3 28 elsif (exists $$param_rules{$_}{'default'}) { }
136 5 149 if not defined $$params{$_} or $$params{$_} eq ''
141 731 110 unless $p =~ m[^/([^/]+)/$]
143 61 49 unless /$re/
146 131 18 if $$param_rules{$_}
148 2 147 if scalar @refs == 0 and $$self{'ignore_missing'}
149 2 145 unless (scalar @refs and $$self{'ignore_missing'})
156 29 116 if (ref $$params{$_} eq 'HASH') { }
9 107 elsif (ref $$params{$_} eq 'ARRAY') { }
174 484 69 unless $r =~ m[^/([^/]+)/$]
178 26 43 unless scalar @matches > 0
181 6 37 if $$param_rules{$r}{'parse'}
183 11 96 if $$param_rules{$_}{'parse'}
186 17 90 if ($parse and ref $parse eq 'CODE') { }
189 0 17 if (ref $$parsed{$k} eq 'HASH') { }
0 17 elsif (ref $$parsed{$k} eq 'ARRAY') { }
207 7 49 if ($group_rules)
212 8 3 if (exists $$group_rules{$_}{'params'}) { }
3 0 elsif (exists $$group_rules{$_}{'regex'}) { }
218 0 3 unless $re
221 27 12 unless $p =~ /$re/
232 3 5 if (ref $$parsed{$k} eq 'ARRAY') { }
0 5 elsif (ref $$parsed{$k} eq 'HASH') { }
263 2 152 unless $validations
268 2 66 if not $$validations{'required'} and !defined($value) || $value eq ''
269 3 81 if $$validations{'required'} and !defined($value) || $value eq ''
273 1 0 if $$validations{'forbidden'} and defined $value and $value ne ''
276 29 117 if ($$validations{'hash'}) { }
11 106 elsif ($$validations{'array'}) { }
300 23 306 if $v eq 'parse' or $v eq 'default'
301 9 84 if $type and $type eq 'array' and $v eq 'values'
302 29 55 if $type and $type eq 'hash' and $v eq 'keys'
305 69 199 ref $$validations{$v} eq 'ARRAY' ? :
309 18 250 if ($v eq 'validate' and ref $$validations{$v} eq 'CODE') { }
9 241 elsif (exists $$self{'_custom_validations'} and exists $$self{'_custom_validations'}{$v} and ref $$self{'_custom_validations'}{$v} eq 'CODE') { }
311 6 12 unless $$validations{$v}($value, @data)
314 3 6 unless $$self{'_custom_validations'}{$v}($value, @data)
317 43 198 unless 'Brannigan::Validations'->$v($value, @data)
321 43 101 scalar @rejects ? :
334 2 9 unless ref $value eq 'ARRAY'
339 0 9 if $_self
345 9 9 if $rj
349 7 2 scalar keys %$rejects ? :
362 0 29 unless ref $value eq 'HASH'
367 0 29 if $_self
376 21 8 scalar keys %$rejects ? :
388 2 217 unless scalar @_ and ref $_[0] eq 'HASH' || ref $_[0] eq 'Brannigan::Tree'
396 0 88 unless ref $_ eq 'HASH'
399 28 53 if (ref $$_{$k} eq 'HASH') { }
400 6 22 if (not exists $tree{$k}) { }
406 2 51 if ($k eq 'forbidden' and $$_{$k}) { }
6 82 elsif ($k eq 'required' and $$_{$k}) { }