Condition Coverage

blib/lib/Data/Random/String/Matches.pm
Criterion Covered Total %
condition 77 123 62.6


and 3 conditions

line !l l&&!r l&&r condition
220 1 1 4122 defined $str and $str =~ /^$regex$/
225 2 0 0 $ENV{'DEBUG_REGEX_GEN'} and $@
316 1 2 21 defined $count and $count > 0
326 5 1 1634 keys %seen < $count and $attempts < $max_attempts
411 19 1 0 $info->{'features'}{'has_backreferences'} and $pattern =~ /(\(\w+\)).*\\\d+/
492 7 0 2 $info->{'features'}{'has_unicode'} and $pattern =~ /\\p\{L\}/
609 66 0 10 defined $2 and $2
700 903 0 7 $next eq "k" and substr($pattern, $i + 1, 1) eq "<"
878 0 25 $next eq "p" and substr($pattern, $i + 1, 1) eq "{"
901 0 1682 3912 $check_possessive and $pos + 2 < length $pattern
903 3900 6 6 $next =~ /[+*?]/ || $next eq '}' and $after_next eq "+"
914 0 2824 627 $check_possessive and $end + 1 < length $pattern
2824 625 2 $check_possessive and $end + 1 < length $pattern and substr($pattern, $end + 1, 1) eq "+"
976 834 4 162 $char eq "|" and $depth == 0
1002 21112 0 3935 $char eq "[" and $i == $start || substr($pattern, $i - 1, 1) ne '\\'
17177 0 3935 $char eq "]" and substr($pattern, $i - 1, 1) ne "\\"
1020 1594 0 156 $char eq "(" and $prev ne "\\"
1438 0 156 $char eq ")" and $prev ne "\\"
1053 2305 366 30522 $i + 2 < length $class and substr($class, $i + 1, 1) eq "-"
1057 127 0 6 $next eq "p" and substr($class, $i + 1, 1) eq "{"

or 2 conditions

line l !l condition
192 19 195 $length || 10
213 1 4123 $max_attempts //= 1000
895 4844 750 $check_possessive //= 1

or 3 conditions

line l !l&&r !l&&!r condition
246 0 0 1010 $regex_str =~ /\\d/ or $regex_str =~ /\[0-9\]/
0 0 1010 $regex_str =~ /\\d/ or $regex_str =~ /\[0-9\]/ or $regex_str =~ /\[\^[^\]]*[A-Za-z]/
0 0 1010 $regex_str =~ /\[A-Z\]/ or $regex_str =~ /\[A-Z[^\]]*\]/
0 0 1010 $regex_str =~ /\[a-z\]/ or $regex_str =~ /\[a-z[^\]]*\]/
0 0 1010 $regex_str =~ /\\w/ or $regex_str =~ /\[a-zA-Z0-9_\]/
474 2 1 9 $info->{'features'}{'has_lookahead'} or $info->{'features'}{'has_lookbehind'}
609 146 10 66 defined $1 or defined $2 and $2
695 0 1 788 $char =~ /[+*?]/ or $char eq "{"
903 12 0 3900 $next =~ /[+*?]/ || $next eq '}'
1002 3935 0 0 $i == $start || substr($pattern, $i - 1, 1) ne '\\'
1078 0 0 30522 $end_char eq "\\" or $end_char eq "]"
1117 85 3 13 $prop eq "L" or $prop eq "Letter"
3 0 10 $prop eq "N" or $prop eq "Number"
6 0 4 $prop eq "Lu" or $prop eq "Uppercase_Letter"
4 0 0 $prop eq "Ll" or $prop eq "Lowercase_Letter"
0 0 0 $prop eq "P" or $prop eq "Punctuation"
0 0 0 $prop eq "S" or $prop eq "Symbol"
0 0 0 $prop eq "Z" or $prop eq "Separator"
0 0 0 $prop eq "Nd" or $prop eq "Decimal_Number"