Branch Coverage

blib/lib/MojoX/AlmostJSON.pm
Criterion Covered Total %
branch 13 80 16.2


line true false branch
36 0 0 defined $err ? :
45 0 0 defined $err ? :
49 0 0 if ref $_[0] eq 'ARRAY' or ref $_[0] eq 'HASH'
60 0 0 eval { do { die "Missing or empty input\n" unless length(local $_ = shift()); $_ = Mojo::Util::decode('UTF-8', $_) unless shift(); die "Input is not UTF-8 encoded\n" unless defined $_; $$valueref = _decode_value(); _throw('Unexpected data') unless /\G[\x20\x09\x0a\x0d]*\z/cg } } ? :
63 0 0 unless length(local $_ = shift())
66 0 0 unless shift()
67 0 0 unless defined $_
73 0 0 unless /\G[\x20\x09\x0a\x0d]*\z/cg
87 0 0 if /\G[\x20\x09\x0a\x0d]*,/cg
90 0 0 if /\G[\x20\x09\x0a\x0d]*\]/cg
104 0 0 unless /\G[\x20\x09\x0a\x0d]*"/cg
111 0 0 unless /\G[\x20\x09\x0a\x0d]*:/cg
118 0 0 if /\G[\x20\x09\x0a\x0d]*,/cg
121 0 0 if /\G[\x20\x09\x0a\x0d]*\}/cg
138 0 0 unless (/\G"/cg)
139 0 0 if /\G[\x00-\x1f\\]/
145 0 0 if (index($str, '\\u') < 0)
156 0 0 if ($2) { }
163 0 0 if (($ord & 63488) == 55296)
166 0 0 unless ($ord & 64512) == 55296
170 0 0 unless $str =~ /\G\\u([Dd][C-Fc-f]..)/cg
191 0 0 if /\G"/cg
194 0 0 if /\G\{/cg
197 0 0 if /\G\[/cg
200 0 0 if /\G([-]?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)/cg
204 0 0 if /\Gtrue/cg
207 0 0 if /\Gfalse/cg
210 0 0 if /\Gnull/cg
237 10 5 if (my $ref = ref $value)
240 4 6 if $ref eq 'HASH'
243 3 3 if $ref eq 'ARRAY'
246 1 2 if $ref eq 'SCALAR' and not $$value =~ /^[01]$/
249 1 1 $value ? :
2 0 if $ref =~ /^(?:MojoX::Almost|Mojo::)JSON::_Bool$/
250 0 0 $$value ? :
0 0 if $ref eq 'SCALAR'
253 0 0 if (blessed $value and my $sub = $value->can('TO_JSON'))
259 0 5 unless defined $value
262 4 0 if B::svref_2object(\$value)->FLAGS & 12288 and 0 + $value eq $value and $value * 0 == 0
278 0 0 if (/\G\z/cg) { }