Branch Coverage

blib/lib/Sub/Quote.pm
Criterion Covered Total %
branch 147 170 86.4


line true false branch
20 7 0 defined &utf8::is_utf8 ? :
21 0 7 defined &builtin::is_bool ? :
22 0 7 defined &builtin::created_as_number ? :
23 6 1 !$ENV{'SUB_QUOTE_NO_HEX_FLOAT'} && "$]" >= 5.022 ? :
29 0 0 $nvsize == 256 ? :
0 0 $nvsize == 128 ? :
0 0 $nvsize == 80 ? :
7 0 $nvsize == 64 ? :
0 7 $nvsize == 32 ? :
0 7 $nvsize == 16 ? :
46 7 0 if ("$]" >= 5.008 and "$]" != 5.01 and defined &B::perlstring) { }
0 0 elsif (eval { do { require XString; 'XString'->VERSION(0.003) } }) { }
0 0 elsif ("$]" == 5.01) { }
0 0 elsif ("$]" >= 5.008 and eval { do { require B; 1 } } and defined &B::perlstring) { }
69 0 0 unless $escape{$1}
127 6 2 $value eq sin(9**9**9) ? :
1 9 sprintf('%g', $value) eq '-0' ? :
146 88 $value > 0 ? :
234 178 !($value =~ /[e.]/i) ? :
6 412 $value == 0 ? :
4 418 $value == -9**9**9 ? :
4 422 $value == 9**9**9 ? :
4 426 $value != $value ? :
2 1439 !length($value) && length((my $dummy2 = '') & $value) ? :
430 1441 !utf8::is_utf8($value) && length((my $dummy = '') & $value) && 0 + $value eq $value ? :
2 1871 !defined($value) ? :
130 22 156 $max_factor > 0 ? :
135 266 21 if $ex == 0
137 175 112 if ($formatted == $num)
138 3 172 if ($ex)
139 3 0 $ex_sign == 1 ? :
0 3 $ex > 53 ? :
174 2 85 unless /^([\@\%\$])/
183 1 7 unless defined $args
186 1 7 if ($code =~ s/^(\s*package\s+([a-zA-Z0-9:]+);)//)
189 3 5 if ($code =~ s/ \A((?:\#\ BEGIN\ quote_sub\ PRELUDE\n.*?\#\ END\ quote_sub\ PRELUDE\n)?\s*) (^\s*) my \s* \(([^)]+)\) \s* = \s* \@_; //msx) { }
3 2 elsif ($local or $args ne '@_') { }
195 1 2 if ($code_args ne $args)
200 1 2 $local ? :
212 16 43 ref $_[-1] eq 'HASH' && ref $_[-2] eq 'HASH' ? :
216 19 40 ref $_[-1] eq 'HASH' ? :
217 14 45 if $captures and not keys %$captures
220 21 38 if ($name)
222 20 1 $subname =~ s/(.*)::// ? :
224 2 19 if length $package > 252
226 2 17 unless $package =~ /^[^\d\W]\w*(?:::\w+)*$/
228 1 16 if length $subname > 252
230 2 14 unless $subname =~ /^[^\d\W]\w*$/
235 3 49 if ($attributes)
246 2 49 exists $options->{'package'} ? :
3 48 exists $options->{'hints'} ? :
1 50 exists $options->{'warning_bits'} ? :
3 48 exists $options->{'hintshash'} ? :
2 49 $attributes ? :
1 50 $file ? :
2 49 $line ? :
253 4 47 if ($options->{'no_defer'}) { }
257 1 3 if $name and not $options->{'no_install'}
269 1 46 $options->{'no_install'} ? :
1 46 $attributes ? :
12 35 $name ? :
284 1 40 if $file
288 2 39 if ($line)
290 1 1 if ($file)
316 2 8 unless my $quoted_info = $QUOTED{$sub or ""}
321 7 1 if ($deferred and $deferred eq $sub or $unquoted and $unquoted eq $sub)
330 1 42 unless my $quoted_info = $QUOTED{$sub}
332 40 2 unless ($unquoted and $$unquoted)
336 13 27 if $name
339 5 35 $captures ? :
343 13 26 $name ? :
2 37 $attributes ? :
13 26 $name ? :
362 12 27 if (my $debug = $ENV{'SUB_QUOTE_DEBUG'})
363 9 3 if ($debug =~ /^([^\W\d]\w*(?:::\w+)*(?:::)?)$/) { }
2 1 elsif ($debug =~ m[\A/(.*)/\z]s) { }
365 2 4 $filter =~ /::/ ? :
3 6 $filter =~ /::$/ ? :
369 5 4 if $match eq $filter
374 1 1 if $code =~ /$filter/
383 13 26 if $name
390 2 37 unless ($success)
409 2 3 $_->{'unquoted'} && ${$_->{'unquoted'};} ? :
4 1 $_->{'deferred'} ? :
5 3 defined $_ ? :