Branch Coverage

blib/lib/CGI/Snapp/Dispatch.pm
Criterion Covered Total %
branch 104 136 76.4


line true false branch
44 0 2 if $#args > 0 and $#args % 2 != 1
46 0 2 ref $args[0] eq 'HASH' ? :
49 0 2 if not $args->{'table'} or ref $args->{'table'} ne 'ARRAY'
60 0 2 unless $named_args->{'app'}
61 0 2 if $named_args->{'rm'} and not $named_args->{'rm'} =~ /^([a-zA-Z_][\w\']+)$/
71 2 0 unless $args_to_new->{'QUERY'}
74 0 2 if $rm
80 0 0 $_ =~ /^404/ ? :
81 0 0 $error == 404 ? :
96 1 26 if not defined $path_info or length $path_info == 0
100 1 26 if not defined $path_info or $path_info eq '/'
101 2 25 if not defined $path_info or length $path_info == 0
105 3 24 if index($path_info, '/') != 0
106 24 3 if substr($path_info, -1) ne '/'
122 0 28 if $#args > 0 and $#args % 2 != 1
124 0 28 ref $args[0] eq 'HASH' ? :
127 0 28 if not $args->{'table'} or ref $args->{'table'} ne 'ARRAY'
131 3 25 if $self->return_type == 1
141 1 24 unless $named_args->{'app'}
142 1 23 if $named_args->{'rm'} and not $named_args->{'rm'} =~ /^([a-zA-Z_][\w\']+)$/
144 3 20 if ($self->return_type == 2) { }
160 17 2 if $rm
170 0 6 if not $error
173 6 19 $error ? :
206 3 3 unless $error_number =~ /^\d+/
213 2 4 if $error_document
225 0 6 if ($url) { }
240 4 2 unless $output
259 5 1 $output =~ /^(?:
264 6 0 if length $output < 520
278 0 627 unless defined $level
280 0 627 if $self->logger
301 24 12 if ($key eq 'args_to_new') { }
311 3 24 if (ref $args->{$key}{$sub_key} eq 'HASH') { }
315 1 2 if (exists $extra_args->{$key}{$sub_key}) { }
326 24 0 defined $args->{$key}{$sub_key} ? :
344 24 75 if (ref $extra_args->{$key} eq 'HASH') { }
348 18 6 if (exists $final_args->{$key}) { }
352 3 15 if ($final_args->{$key}{'PARAMS'}) { }
354 1 2 if (exists $extra_args->{$key}{'PARAMS'})
373 68 7 unless exists $args->{$key}
396 1 1 if (index($s, '"') == 0) { }
1 0 elsif (index($s, '<') == 0) { }
412 0 1 if $doc_root
416 1 0 if (-f $s and open INX, '<', $s) { }
436 0 2 if $url
437 2 0 if $output
459 0 71 unless defined $rule
468 3 68 if ($rule =~ /$request_method_regexp/)
472 1 2 if lc $http_method ne lc $1
483 69 1 if index($rule, '/') != 0
484 67 3 if substr($rule, -1) ne '/'
502 8 75 $4 ? :
508 9 61 if ($rule =~ m[/\*/$])
521 25 45 if (my(@values) = $path_info =~ /^$rule$/)
526 22 3 if @names
550 0 22 unless defined $module
551 4 18 unless defined $rm
555 1 21 if ($named_args->{'*'})
574 22 0 unless ($args_to_new)
581 0 22 unless $args_to_new
584 17 5 if $prefix
585 0 22 defined $named_args->{'auto_rest'} ? :
587 2 20 if ($auto_rest)
589 0 2 defined $named_args->{'auto_rest_lc'} ? :
590 1 1 if $method_lc
591 2 0 length $rm ? :
598 21 1 if (is_class_loaded($module)) { }