Branch Coverage

blib/lib/Data/CGIForm.pm
Criterion Covered Total %
branch 110 134 82.0


line true false branch
337 0 23 unless @_ % 2 == 0
342 0 46 unless $params{$_}
345 0 23 unless (ref $params{'datasource'} and $params{'datasource'}->can('param'))
349 0 23 unless (ref $params{'spec'} and ref $params{'spec'} eq 'HASH')
359 3 20 if ($params{'start_param'})
360 1 2 unless ($params{'spec'}{$params{'start_param'}})
377 21 1 unless $$self{'in_unstarted_mode'}
393 0 70 unless ref $value
395 42 28 if (ref $value eq 'HASH') { }
28 0 elsif (ref $value eq 'Regexp') { }
404 2 20 if $$self{'delayed_specs'}
420 2 70 if ($$s{'equal_to'})
431 0 70 unless $regexp
434 0 70 unless ref $regexp and ref $regexp eq 'Regexp'
437 10 60 delete $$s{'optional'} ? :
447 0 70 if (%{$s;})
456 3 67 if $length
457 3 67 if $min_length
458 3 67 if $max_length
460 14 56 if ($filter)
461 4 10 ref $filter && ref $filter eq 'ARRAY' ? :
464 11 6 if ($Filters{$f}) { }
6 0 elsif (ref $f and ref $f eq 'CODE') { }
474 7 63 if ($extra_test)
475 1 6 ref $extra_test && ref $extra_test eq 'ARRAY' ? :
478 8 0 if (ref $t and ref $t eq 'CODE') { }
486 14 56 if ($errors)
492 0 14 unless (ref $errors and ref $errors eq 'HASH')
503 0 14 if (%{$errors;})
520 0 2 unless ($$self{'spec'}{$equal_to})
528 0 2 unless my $value = $form->param($equal_to)
530 1 1 if ($$textref eq $value) { }
555 1 21 if $$self{'start_param'} and not $data->param($$self{'start_param'})
558 1 21 if ($$self{'in_unstarted_mode'}) { }
583 16 50 unless (@{$$self{'data'}{$key};})
584 9 7 unless $self->error($key) or $$spec{'optional'}
590 75 1 if defined $_ and length $_
592 0 1 unless $self->error($key) or $$spec{'optional'}
598 0 75 unless defined $data
600 19 56 if ($$spec{'filter'})
604 10 65 if (not $data =~ /$$spec{'regexp'}/) { }
609 3 62 if (exists $$spec{'length'})
610 0 3 unless length $data == $$spec{'length'}
614 3 62 if (exists $$spec{'max_length'})
615 2 1 unless length $data <= $$spec{'max_length'}
619 3 60 if (exists $$spec{'min_length'})
620 2 1 unless length $data >= $$spec{'min_length'}
624 7 54 if ($$spec{'extra_test'})
626 2 6 unless (&$t(\$data, $self, $key))
629 1 1 unless $$self{'errors'}{$key}
640 38 11 if (@new_data) { }
696 2 69 unless $name
698 8 61 if (defined $new_value)
699 3 5 if (ref $new_value) { }
700 2 1 if (ref $new_value eq 'ARRAY') { }
710 7 61 unless my $data = $$self{'data'}{$name}
712 18 43 wantarray ? :
730 82 14 if ($name) { }
731 27 55 if $new_error
735 10 4 %{$$self{'errors'};} ? :
761 0 25 unless ($$self{'spec'}{$key})
765 7 18 if ($$self{'spec'}{$key}{'errors'}) { }
771 0 25 unless $format
778 0 29 unless $map{$1}
793 0 0 $$self{'in_unstarted_mode'} ? :
821 0 28 if $AUTOLOAD =~ /DESTROY/
826 27 1 if ($$self{'spec'}{$name}) { }