Branch Coverage

blib/lib/Lox/Scanner.pm
Criterion Covered Total %
branch 49 108 45.3


line true false branch
35 2 0 unless (@{$self->{'tokens'}} and $self->{'tokens'}[-1]->type eq 40)
44 0 12 if ($c eq '') { }
0 12 elsif ($c eq '(') { }
0 12 elsif ($c eq ')') { }
0 12 elsif ($c eq '{') { }
0 12 elsif ($c eq '}') { }
0 12 elsif ($c eq ',') { }
0 12 elsif ($c eq '.') { }
0 12 elsif ($c eq '-') { }
0 12 elsif ($c eq '+') { }
2 10 elsif ($c eq ';') { }
0 10 elsif ($c eq '*') { }
0 10 elsif ($c eq '!') { }
0 10 elsif ($c eq '.') { }
1 9 elsif ($c eq '=') { }
0 9 elsif ($c eq '>') { }
0 9 elsif ($c eq '<') { }
0 9 elsif ($c eq '/') { }
1 8 elsif ($c eq '"') { }
0 8 elsif ($c =~ /\d/) { }
4 4 elsif ($c =~ /\w/) { }
4 0 elsif ($c =~ /\s/) { }
119 0 0 if (not $self->is_at_end and $self->peek eq $expected_char)
130 0 26 if ($next eq "\n") { }
175 0 4 if ($c eq 'and') { }
0 4 elsif ($c eq 'break') { }
0 4 elsif ($c eq 'class') { }
0 4 elsif ($c eq 'else') { }
0 4 elsif ($c eq 'false') { }
0 4 elsif ($c eq 'for') { }
0 4 elsif ($c eq 'fun') { }
0 4 elsif ($c eq 'if') { }
0 4 elsif ($c eq 'nil') { }
0 4 elsif ($c eq 'or') { }
1 3 elsif ($c eq 'print') { }
0 3 elsif ($c eq 'return') { }
0 3 elsif ($c eq 'super') { }
0 3 elsif ($c eq 'this') { }
0 3 elsif ($c eq 'true') { }
1 2 elsif ($c eq 'var') { }
0 2 elsif ($c eq 'while') { }
246 0 0 if ($self->peek eq '.' and $self->peek(2) =~ /\d/)
260 0 3 if ($next eq '\\')
265 0 1 if ($self->is_at_end)
277 0 0 if ($self->peek eq '=')
287 0 1 if ($self->peek eq '=')
297 0 0 if ($self->peek eq '=')
307 0 0 if ($self->peek eq '=')
316 0 0 if ($self->peek eq '/') { }
0 0 elsif ($self->peek eq '*') { }
324 0 0 if ($self->peek(2) eq '*/') { }
0 0 elsif ($self->peek(2) eq '/*') { }
334 0 0 unless $multiline
337 0 0 if ($multiline)