Branch Coverage

blib/lib/Pugs/Runtime/Regex.pm
Criterion Covered Total %
branch 39 94 41.4


line true false branch
19 13 93 $_[1] ? :
23 0 137 unless defined $_[3]
25 124 13 unless $state[1]
26 100 37 if ($_[3] or $_[3]->data->{'abort'})
27 34 66 $state[0] > $#$nodes ? :
39 13 46 unless ref $nodes eq 'ARRAY'
40 1 58 unless @$nodes
41 9 49 if @$nodes == 1
42 4 45 if (@$nodes > 2)
49 11 90 $_[1] ? :
60 76 38 defined $_[7] ? :
64 24 90 if not $_[3] or $_[3]->data->{'abort'}
70 0 90 if ($is_empty and $param1{'was_empty'})
73 0 0 unless $_[3]->from == 0
76 90 0 defined $_[7] ? :
89 50 40 unless $state[1]
102 0 0 if (ref $$m2[$_] eq 'ARRAY') { }
0 0 elsif (defined $$m2[$_]) { }
112 0 0 defined $_[3]->data->{'match'}[$_] ? :
0 0 ref $_[3]->data->{'match'}[$_] eq 'ARRAY' ? :
121 0 0 if (ref $$m2{$_} eq 'ARRAY') { }
0 0 elsif (defined $$m2{$_}) { }
131 0 0 defined $_[3]->data->{'named'}{$_} ? :
0 0 ref $_[3]->data->{'named'}{$_} eq 'ARRAY' ? :
141 56 21 defined $state[0] || defined $state[1] ? :
178 0 0 defined $_[7] ? :
188 0 157 $_[7]{'ignorecase'} ? :
209 0 0 if $@
218 0 0 $_[7]{'ignorecase'} ? :
231 0 0 unless (eval { do { $bool = $_[7]{'ignorecase'} ? substr($_[0], $_[5]) =~ /(?i)$rx/ : substr($_[0], $_[5]) =~ /$rx/; $_[3] = 'Pugs::Runtime::Match'->new({'bool', \$bool, 'str', \$_[0], 'from', \(0 + $_[5]), 'to', \($_[5] + length($1)), 'named', {}, 'match', []}); 1 } })
291 0 0 $capture_to_array ? :
315 0 0 $capture_to_array ? :
502 3 2 defined $_[0] ? :
504 0 5 if (defined $max_count and $max_count < 1e+99)
518 2 3 if $min_count < 1
526 3 3 defined $_[0] ? :
532 1 20 if $$state{'count'} > $max_count
566 0 0 if ($count < $min_count) { }
583 0 0 unless ($count < $max_count and $previous_pos < $current_pos)
610 0 0 if ($greedy) { }
630 0 0 if (ref $$h{$key} eq 'CODE')
637 0 0 if ref $ret eq 'Pugs::Runtime::Match'
649 0 0 if (ref($$h{$key}) =~ /Pugs::Compiler::/)
653 0 0 if ($$h{$key} =~ /^(\d+)$/)
663 0 0 unless $1 == 1
717 0 0 unless exists $$pad{$name}
721 0 0 if $name =~ /^\$/