Branch Coverage

blib/lib/Parse/FSM/Lexer.pm
Criterion Covered Total %
branch 48 52 92.3


line true false branch
128 27 20 unless pop @{$$self[6];}
184 31 8 if -f $file
188 5 3 if -f $full_path
217 1 34 if (grep {($_->[1] // '') eq $file;} @{$$self[6];})
222 2 32 unless open my $fh, '<', $file
227 0 87 unless $fh
229 59 28 if (defined $line)
230 1 58 unless $line =~ /\n\z/
258 21 30 if defined $self->[0]
263 48 122 unless @input
265 30 92 if (not ref $_) { }
270 63 29 if (defined $element) { }
404 56 139 unless my $input = $self->[0]
405 92 47 if (defined($self->[5] = &$input())) { }
408 1 1 unless defined $next_line
429 148 153 unless (defined $self->[5])
430 56 92 unless $self->_readline
439 106 228 if ($self->[4])
454 153 181 unless defined $token
457 28 153 if ($method) { }
459 0 25 if defined $new_token
460 19 6 unless defined $self->[5]
506 0 310 unless $$rtext =~ /\G (?: # #include (?> ^ (?&SP)* \# include (?&SP)* (?: \' ( [^\'\n]+ ) \' (?{ ['INCLUDE', $^N]; }) | \" ( [^\"\n]+ ) \" (?{ ['INCLUDE', $^N]; }) | < ( [^>\n]+ ) > (?{ ['INCLUDE', $^N]; }) | ( \S+ ) (?{ ['INCLUDE', $^N]; }) | (?{ ['ERROR', '#include expects a file name']; }) ) .* \n? # eat newline ) # #line | (?> ^ (?&SP)* \# line (?&SP)+ (\d+) (?&SP)+ (?{ $LINE_NR = $^N; }) \"? ([^\"\n]+) \"? (?{ ['INPUT_POS', $^N, $LINE_NR, 1]; }) .* \n? # eat newline ) # other #-lines - ignore | (?> ^ (?&SP)* \# .* \n? (?{ undef; }) ) # white space | (?> \s+ (?{ undef; }) ) # string | (?> ( \" (?: \\. | [^\\\"] )* \" ) (?{ ['STR', eval $^N]; }) ) | (?> ( \' (?: \\. | [^\\\'] )* \' ) (?{ ['STR', eval $^N]; }) ) # number | (?> 0x ( [0-9a-f]+ ) \b (?{ ['NUM', hex $^N]; }) ) | (?> 0b ( [01]+ ) \b (?{ ['NUM', oct '0b' . $^N]; }) ) | (?> 0 ( [0-7]+ ) \b (?{ ['NUM', oct '0' . $^N]; }) ) | (?> ( \d+ ) \b (?{ ['NUM', 0 + $^N]; }) ) # name | (?> ( [a-z_]\w* ) (?{ ['NAME', $^N]; }) ) # symbols | (?> ( << | >> | == | != | >= | <= | . ) (?{ [$^N, $^N]; }) ) ) (?(DEFINE) # horizontal blanks (? [\t\f\r ] ) ) /cgimx
622 14 2 if defined $message
625 3 13 if (defined $self->[5] and defined pos $self->[5])
628 0 3 if ($code ne '')