Condition Coverage

blib/lib/Mock/Data/Charset.pm
Criterion Covered Total %
condition 78 139 56.1


and 3 conditions

line !l l&&!r l&&r condition
20 24 14 7 @_ == 1 and not ref $_[0]
59 17 0 21 defined $self{'notation'} and not keys %parse
266 1 0 18 defined $endpoints[$i + 1] and ord $endpoints[$i + 1]
276 0 1 1 @invlist and $invlist[-1] > $max_codepoint
281 0 5 4 $max_codepoint < 1114111 and 1 & @invlist
310 9 0 1 @invlists and $invlists[-1][-1] < $start
9 0 0 @invlists and $invlists[-1][0] > $limit
511 37 6 0 $flags and ($flags->{'x'} || 0) >= 2
43 0 0 $flags and ($flags->{'x'} || 0) >= 2 and /\G[ \t]/cg
621 76 1032 1906 $mid > 0 and $ofs < $$invlist_index[$mid - 1]
646 11 3397 2331 $mid > 0 and $codepoint < $invlist->[$mid]
18 769 2621 $mid < $#$invlist and $codepoint >= $$invlist[$mid + 1]
674 0 5 0 @$invlist & 1 and defined $max_codepoint
5 0 0 @$invlist & 1 and defined $max_codepoint and $invlist->[-1] == $max_codepoint + 1
726 14 166 3111 @combined and $combined[-1] >= $min_ch
757 7 6 1 1 & @combined and $max_codepoint < 1114111

or 2 conditions

line l !l condition
24 0 0 $self{'generator_opts'} ||= {%{$class->{'generator_opts'};}}
95 0 0 $self->max_codepoint || 1114111
199 3 22 $max_codepoint ||= 1114111
511 0 6 $flags->{'x'} || 0
708 25 8 shift() // 1114111

or 3 conditions

line l !l&&r !l&&!r condition
25 0 0 0 $self{'max_codepoint'} //= $class->{'max_codepoint'}
51 0 0 0 keys %parse or defined $self{'notation'}
0 0 0 keys %parse or defined $self{'notation'} or $self{'members'}
0 0 0 keys %parse or defined $self{'notation'} or $self{'members'} or $self{'member_invlist'}
55 0 0 0 $self{$_} //= $class->{$_}
67 0 0 11 $self{'members'} or $self{'member_invlist'}
72 0 6 0 $self{'members'} or $self{'member_invlist'}
105 13 1 0 $_[0]{'notation'} //= _deparse_charset($_[0]->_parse)
131 83 20 0 $_[0]{'members'} ||= $_[0]->_build_members
164 2309 20 0 $self->{'_invlist_index'} ||= Mock::Data::Charset::Util::create_invlist_index($self->member_invlist)
189 1571 34 0 $_[0]{'member_invlist'} //= _build_member_invlist(@_)
198 22 0 12 not defined $max_codepoint or $max_codepoint > 1000
22 3 9 not defined $max_codepoint or $max_codepoint > 1000 or not defined $self->{'notation'}
204 25 9 0 $invlist ||= _charset_invlist_brute_force($self->notation, $max_codepoint)
246 7 1 0 $_ascii_chars //= join('', map(chr($_), 0..255))
346 0 2 0 $opts{'str_len'} // $opts{'len'}
2 0 0 ($opts{'str_len'} // $opts{'len'}) // $opts{'size'}
347 6 0 76 $opts{'min_codepoint'} // $cp_min
348 27 0 55 $opts{'max_codepoint'} // $cp_max
350 6 21 85 defined $cp_min || defined $cp_max
364 83 13 16 $self->{'members'} or $member_count < 500
398 6 0 0 $at // $ins
466 9 8 0 $_class_invlist_cache{$class} ||= do { $have_prop_invlist = do { require Unicode::UCD; not !'Unicode::UCD'->can('prop_invlist') } unless defined $have_prop_invlist; $have_prop_invlist ? [Unicode::UCD::prop_invlist($class)] : _charset_invlist_brute_force("\\p{$class}", 1114111) }
514 19 0 0 $_parse_charset_backslash{$1} || ord $1
616 0 0 1108 $ofs >= $invlist_index->[-1] or $ofs < 0
685 0 0 0 ref $_ eq 'ARRAY' or $_ = $_->member_invlist
730 3 1326 1782 not defined $new_end or $combined[-1] < $new_end