Condition Coverage

blib/lib/Acme/AsciiArtinator.pm
Criterion Covered Total %
condition 76 148 51.3


and 3 conditions

line !l l&&!r l&&r condition
19 3 0 0 @_ == 1 and ref $_[0] eq 'HASH'
25 3 0 0 defined $opts{'debug'} and $opts{'debug'}
309 10 0 0 $tokens[$c] eq ';' and $tokens[$c - 1] ne 'SIGIL'
335 148 2 0 $_ eq 'q' and $DEBUG
350 127 0 23 $sigil{$_} and not $Q =~ /^\$\#/
357 23 104 0 not $sigil and $_ eq q['] || $_ eq '"' || $_ eq '/' && regex_or_divide(\@tokens, \@contexts) eq 'regex'
23 86 4 not $sigil and $Q =~ /^[0-9]*\.{0,1}[0-9]+([eE][-+]?[0-9]+)?/
23 86 0 not $sigil and $Q =~ /^[0-9]+\.{0,1}[0-9]*([eE][-+]?[0-9]+)?/
23 86 0 not $sigil and $Q =~ /^m\W/ || $Q =~ /^qr\W/ || $Q =~ /^q[^\w\s]/ || $Q =~ /^qq\W/
23 83 0 not $sigil and $Q =~ /^s\W/ || $Q =~ /^y\W/ || $Q =~ /^tr\W/
53 0 6 $token = find_token_keyword($Q) and not $sigil
370 63 0 14 $INPUT[$j] eq $terminator and not $escaped
375 14 0 0 $_ eq '/' and length $token > 30 || $j >= $#INPUT
425 19 0 3 $INPUT[$j] eq $terminator and not $escaped
445 76 0 10 $INPUT[$j] eq $terminator and not $escaped
482 1 0 1 $token =~ /e/ and $tokens[-2] =~ /^s/
561 34 0 9 /;/ and not $sigil
18 2 0 /\{/ and $sigil
18 2 0 /\}/ and STRPOS('name contained', @contexts) > STRPOS('name decontainer', @contexts)
715 159 0 15 $bc == 0 and $blocks[$ib] == 0
159 15 0 $bc == 0 and $blocks[$ib] == 0 and $tokens[$it] eq '$'
15 0 0 $bc == 0 and $blocks[$ib] == 0 and $tokens[$it] eq '$' and $contexts[$it] eq 'SIGIL'
15 0 0 $bc == 0 and $blocks[$ib] == 0 and $tokens[$it] eq '$' and $contexts[$it] eq 'SIGIL' and $contexts[$it + 1] eq 'name'
0 0 0 $bc == 0 and $blocks[$ib] == 0 and $tokens[$it] eq '$' and $contexts[$it] eq 'SIGIL' and $contexts[$it + 1] eq 'name' and length $tokens[$it + 1] == 1
0 0 0 $bc == 0 and $blocks[$ib] == 0 and $tokens[$it] eq '$' and $contexts[$it] eq 'SIGIL' and $contexts[$it + 1] eq 'name' and length $tokens[$it + 1] == 1 and $tokens[$it + 1] =~ /\W/
792 29 32 0 $z < 0.25 and $npad > 1
0 0 0 $z < 0.5 and $npad > 1
796 0 0 0 $$cref[$it] eq 'name' and $$cref[$it - 1] eq 'SIGIL'
810 51 7 3 $$tref[$it - 1] eq ';' and $$cref[$it - 1] eq 'end of statement'
58 0 0 $$tref[$it] eq ';' and $$cref[$it] eq 'end of statement'
850 10 0 0 $where < 0 and $howmuch < 0
859 10 0 0 rand() > 0.95 and $where > 0
863 0 10 51 $where >= 0 and not try_to_pad($where, $npad, \@tokens, \@contexts)

or 2 conditions

line l !l condition
116 0 3 $opts{'retry'} || 100
377 0 0 find_token_keyword($Q) || '/'

or 3 conditions

line l !l&&r !l&&!r condition
80 3 0 3 defined $opts{"test_argv$ntest"} or defined $opts{"test_input$ntest"}
174 3 0 3 defined $opts{"test_argv$ntest"} or defined $opts{"test_input$ntest"}
340 0 0 150 $Q =~ /^\$\#\{/ or $Q =~ /^\$\#\w+/
357 14 0 90 $_ eq q['] || $_ eq '"' || $_ eq '/' && regex_or_divide(\@tokens, \@contexts) eq 'regex'
0 1 83 $Q =~ /^m\W/ || $Q =~ /^qr\W/ || $Q =~ /^q[^\w\s]/ || $Q =~ /^qq\W/
5 0 78 $Q =~ /^s\W/ || $Q =~ /^y\W/ || $Q =~ /^tr\W/
375 0 0 0 length $token > 30 || $j >= $#INPUT
464 0 0 2 $tokens[-1] =~ /^[\'\"]/ or $tokens[-1] eq ')'
0 2 0 $tokens[-1] =~ /^[\'\"]/ or $tokens[-1] eq ')' or $contexts[-1] =~ /name/
623 92 25 209 $char eq ' ' or $char eq "\n"
117 0 209 $char eq ' ' or $char eq "\n" or $char eq "\t"
810 0 0 61 $it == 0 or $$tref[$it - 1] eq ';' and $$cref[$it - 1] eq 'end of statement'
3 0 58 $it == 0 or $$tref[$it - 1] eq ';' and $$cref[$it - 1] eq 'end of statement' or $$tref[$it] eq ';' and $$cref[$it] eq 'end of statement'
0 0 58 $it == 0 or $$tref[$it - 1] eq ';' and $$cref[$it - 1] eq 'end of statement' or $$tref[$it] eq ';' and $$cref[$it] eq 'end of statement' or $$cref[$it] eq 'flexible filler'
0 7 51 $it == 0 or $$tref[$it - 1] eq ';' and $$cref[$it - 1] eq 'end of statement' or $$tref[$it] eq ';' and $$cref[$it] eq 'end of statement' or $$cref[$it] eq 'flexible filler' or $$cref[$it - 1] eq 'flexible filler'