Branch Coverage

blib/lib/Parse/JCONF.pm
Criterion Covered Total %
branch 79 122 64.7


line true false branch
19 0 9 if %opts
21 0 9 if ($self->{'keep_order'})
22 0 0 unless eval "require $HashClass"
35 0 24 if ($self->{'keep_order'})
44 0 51 unless $self->_parse_bareword(\$data, \$offset, \$line, \my $key)
46 7 37 unless $self->_parse_eq_sign(\$data, \$offset, \$line)
48 0 37 unless $self->_parse_value(\$data, \$offset, \$line, \my $val)
50 0 37 unless $self->_parse_delim(undef, \$data, \$offset, \$line)
65 109 249 if (defined $1)
77 0 80 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
84 0 80 unless $$data_ref =~ /\G(\w+)/g
98 0 30 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
105 1 29 if (substr($$data_ref, $$offset_ref, 1) eq '"') { }
119 49 61 if ($has_data and substr($$data_ref, $$offset_ref, 1) eq ',')
125 47 14 if ($line_was != $$line_ref)
130 0 0 unless (defined $ok_if or $has_data)
135 14 0 if ($has_data and substr($$data_ref, $$offset_ref, 1) eq $ok_if)
148 0 51 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
153 14 37 unless (substr($$data_ref, $$offset_ref, 1) eq '=')
166 0 110 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
172 17 93 if ($c eq '{') { }
17 76 elsif ($c eq '[') { }
6 70 elsif ($c eq 't') { }
6 64 elsif ($c eq 'f') { }
6 58 elsif ($c eq 'n') { }
23 35 elsif ($c eq '"') { }
35 0 elsif ($c =~ /-|\d/) { }
205 0 18 unless substr($$data_ref, $$offset_ref, $len) eq $constant and $len + $$offset_ref == length $$data_ref || substr($$data_ref, $$offset_ref + $len, 1) =~ /[\s,\]}]/
221 0 35 unless $$data_ref =~ /\G(-?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/cg
241 0 60 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
246 17 43 if substr($$data_ref, $$offset_ref, 1) eq ']'
248 0 43 unless $self->_parse_value($data_ref, $offset_ref, $line_ref, \my $val)
250 0 43 unless $self->_parse_delim(']', $data_ref, $offset_ref, $line_ref)
267 0 17 if ($self->{'keep_order'})
272 0 47 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
277 17 30 if substr($$data_ref, $$offset_ref, 1) eq '}'
279 0 30 unless $self->_parse_bareword_or_string($data_ref, $offset_ref, $line_ref, \my $key)
281 0 30 unless $self->_parse_colon_sign($data_ref, $offset_ref, $line_ref)
283 0 30 unless $self->_parse_value($data_ref, $offset_ref, $line_ref, \my $val)
285 0 30 unless $self->_parse_delim('}', $data_ref, $offset_ref, $line_ref)
300 0 30 unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref)
305 0 30 unless (substr($$data_ref, $$offset_ref, 1) eq ':')
332 10 56 if (defined $1) { }
8 48 elsif (defined $2) { }
7 41 elsif (defined $3) { }
348 0 24 if ($$offset_ref == length $$data_ref)
354 0 24 if ((my $c = substr($$data_ref, $$offset_ref, 1)) ne '"')
355 0 0 if ($c eq '\\') { }
381 2 8 unless open my $fh, '<:utf8', $path
401 34 16 unless (defined $err_type)
407 8 8 if ($self->{'autodie'})
424 0 28 if ($c eq "\n") { }
0 28 elsif ($c eq "\t") { }
0 28 elsif (ord $c < 32) { }
436 28 0 if ($c =~ /\S/)
437 0 28 if (++$non_space_chars > 5)
451 0 56 if ($c eq "\n") { }
0 56 elsif ($c eq "\t") { }
0 56 elsif (ord $c < 32) { }
463 56 0 if ($c =~ /\S/)
464 14 42 if (++$non_space_chars > 3)