Branch Coverage

blib/lib/dotconfig.pm
Criterion Covered Total %
branch 162 214 75.7


line true false branch
12 0 48 unless open my $fh, '<', $path
32 48 0 if (my $config = $decoder->config) { }
89 2165 47 if (length $self->{'tape'} >= $eos_pos)
97 321 3363 if (length $next == length $str and $str eq $next)
109 243 964 if ($self->_match_str($expected))
117 488 625 if ($char eq ' ' or $char eq "\t" or $char eq "\n" or $char eq "\r")
131 446 0 if (defined(my $char = $self->_peek(0))) { }
132 218 228 if $self->_consume_if_space($char)
133 22 206 if ($char eq '{') { }
15 191 elsif ($char eq '[') { }
29 162 elsif ($char eq '"') { }
4 158 elsif ($char eq '<' and $self->_match_str('<<')) { }
22 136 elsif ($char =~ /[0-9\-]/) { }
6 130 elsif (my $false = $self->false) { }
7 123 elsif (my $true = $self->true) { }
3 120 elsif (my $null = $self->null) { }
7 113 elsif ($char eq '/') { }
146 4 18 if ($self->_match_str('0x')) { }
2 16 elsif ($self->_match_str('0b')) { }
2 14 elsif ($self->_match_str('0o')) { }
169 7 0 if ($self->_match_str('//') or $self->_match_str('/*')) { }
187 6 130 (shift())->_consume_if('false') ? :
188 7 123 (shift())->_consume_if('true') ? :
189 3 120 (shift())->_consume_if('null') ? :
196 4 10 if ($self->_consume_if('-'))
198 4 0 if (defined(my $char = $self->_peek(0))) { }
199 0 4 unless ($char =~ /[0-9]/)
208 0 14 if ($self->_consume_if('0'))
210 0 0 if (defined(my $char = $self->_peek(0))) { }
211 0 0 if ($char =~ /[0-9]/)
220 114 0 if (defined(my $char = $self->_peek(0))) { }
221 100 14 if ($char =~ /[0-9.]/) { }
234 3 11 if ($self->_consume_if('e') or $self->_consume_if('E'))
236 0 3 if ($self->_consume_if('+')) { }
2 1 elsif ($self->_consume_if('-')) { }
244 8 0 if (defined(my $char = $self->_peek(0))) { }
245 5 3 if ($char =~ /[1-9]/) { }
257 0 3 unless ($digit_after_exp)
262 5 9 if ($string =~ /[.eE]/) { }
263 5 0 $self->{'option'}{'allow_bigint'} ? :
265 1 8 if (($string + 0) =~ /[.eE]/) { }
266 1 0 $self->{'option'}{'allow_bigint'} ? :
276 0 4 unless $self->_consume_if($prefix)
281 36 0 if (defined(my $char = $self->_peek(0))) { }
282 32 4 if ($char =~ /[A-F0-9]/i) { }
298 0 2 unless $self->_consume_if($prefix)
303 14 0 if (defined(my $char = $self->_peek(0))) { }
304 12 2 if ($char =~ /[01]/i) { }
320 0 2 unless $self->_consume_if($prefix)
325 8 0 if (defined(my $char = $self->_peek(0))) { }
326 6 2 if ($char =~ /[0-7]/i) { }
341 5 5 if ($self->_match_str('//')) { }
5 0 elsif ($self->_match_str('/*')) { }
354 0 6 unless $self->_consume_if('//')
358 79 0 if (defined(my $char = $self->_peek(0))) { }
360 6 73 if ($char eq "\n") { }
374 0 7 unless $self->_consume_if('/*')
378 1 449 if ($self->_match_str('//')) { }
2 447 elsif ($self->_match_str('/*')) { }
7 440 elsif ($self->_match_str('*/')) { }
397 0 36 unless $self->_consume_if('"')
402 333 0 if (defined(my $char = $self->_peek(0))) { }
403 18 315 if ($char eq '\\') { }
36 279 elsif ($char eq '"') { }
404 18 0 if (defined(my $next_char = $self->_peek(1))) { }
415 4 14 if (my $ch = $escapes->{$next_char}) { }
14 0 elsif ($next_char eq 'u') { }
423 56 0 if (defined $char and $char =~ /[A-F0-9]/i) { }
431 14 0 if ((my $hex = CORE::hex $utf) > 127) { }
444 0 36 if ($self->_peek(-1) eq '\\') { }
466 0 4 unless $self->_consume_if('<<')
469 2 2 $self->_consume_if('-') ? :
473 16 0 if (defined(my $char = $self->_peek(0))) { }
475 0 16 if ($char eq ' ' or $char eq "\t") { }
4 12 elsif ($char eq "\n") { }
489 4 311 if $self->_consume_if($delimiter)
490 311 0 if (defined(my $char = $self->_peek(0))) { }
500 2 2 if ($strip_space)
505 8 0 if $_ eq ' '
517 0 15 unless $self->_consume_if('[')
522 59 0 if (defined(my $char = $self->_peek(0))) { }
523 15 44 if ($self->_consume_if(']')) { }
15 29 elsif ($self->_consume_if(',')) { }
530 24 5 if (defined(my $value = $self->config)) { }
544 0 22 unless $self->_consume_if('{')
550 139 0 if (defined(my $char = $self->_peek(0))) { }
551 116 23 if $self->_consume_if_space($char)
552 1 22 if ($self->_match_str('//') or $self->_match_str('/*')) { }
1 21 elsif ($self->_consume_if('}')) { }
584 311 0 if (defined(my $char = $self->_peek(0))) { }
585 154 157 if $self->_consume_if_space($char)
586 2 155 if ($self->_match_str('//') or $self->_match_str('/*')) { }
21 134 elsif ($self->_consume_if('}')) { }
594 36 98 if ($state eq 'STATE_KEY') { }
36 62 elsif ($state eq 'STATE_KEY_SEPARATOR') { }
36 26 elsif ($state eq 'STATE_VALUE') { }
26 0 elsif ($state eq 'STATE_VALUE_SEPARATOR') { }
595 36 0 if (defined(my $key = $self->map_key)) { }
604 36 0 if ($self->_consume_if(':')) { }
612 36 0 if (defined(my $value = $self->config)) { }
621 26 0 if ($self->_consume_if(',')) { }
647 7 29 $self->_match_str('"') ? :
653 224 0 if (defined(my $char = $self->_peek(0))) { }
654 7 217 if ($mode eq 'MODE_MAP_KEY_QUOTED') { }
657 0 217 if ($self->_consume_if_space($char)) { }
0 217 elsif ($self->_match_str('//') or $self->_match_str('/*')) { }
29 188 elsif ($self->_match_str(':')) { }