Branch Coverage

blib/lib/Lexical/Failure.pm
Criterion Covered Total %
branch 43 64 67.1


line true false branch
60 10 0 if (ref $default ne "CODE")
62 0 10 unless exists $VALID_FAILURE_HANDLERS_FOR_SCOPE[-1]{$default}
83 2 3 if ($next_arg eq 'fail') { }
1 2 elsif ($next_arg eq 'ON_FAILURE') { }
1 1 elsif ($next_arg eq 'default') { }
1 0 elsif ($next_arg eq 'handlers') { }
84 0 2 unless $fail = shift @_
86 0 2 if ref $fail
90 0 1 unless $ON_FAILURE = shift @_
92 0 1 if ref $fail
96 0 1 unless $default = shift @_
98 0 1 if ref $fail and ref $fail ne "CODE"
102 0 1 unless $handlers = shift @_
104 0 1 if not ref $handlers or ref $handlers ne "HASH"
107 0 1 if grep {ref $_ ne "CODE";} values %{$handlers;}
130 4 36 unless defined $handler
133 1 35 if (${^GLOBAL_PHASE} ne "START")
138 0 35 if ((caller 1)[3] eq "(eval)")
144 0 35 unless $handler_type =~ /\A (?: CODE | SCALAR | ARRAY | HASH | (?#STRING) ) \z/msux
157 20 15 if ($type eq "")
159 0 20 unless exists $valid_handlers_ref->{$handler}
168 6 9 if ($type eq "SCALAR")
174 3 6 if ($type eq "ARRAY")
180 3 3 if ($type eq "HASH")
217 29 6 !$context ? :
15 35 !defined($context) ? :
240 0 64 unless @uplevel_caller
243 50 14 if ($uplevel_caller[0] ne $immediate_caller_package)
258 0 0 $@ ? :
3 0 @_ ? :
262 0 3 if ref $exception
264 3 0 if (not ref $exception and substr($exception, -1) ne "\n")