Branch Coverage

blib/lib/Mojo/JSON.pm
Criterion Covered Total %
branch 89 90 98.8


line true false branch
14 1 74 $ENV{'MOJO_NO_JSON_XS'} ? :
54 23 51 defined $err ? :
67 5 94 if ref $_[0] eq "ARRAY" or ref $_[0] eq "HASH"
78 53 24 eval { do { die "Missing or empty input at offset 0\n" unless length(local $_ = shift()); $_ = 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/cgu } } ? :
81 1 76 unless length(local $_ = shift())
84 73 3 unless shift()
85 2 74 unless defined $_
91 5 53 unless /\G[\x20\x09\x0a\x0d]*\z/cgu
100 2 1845 if (local $DEPTH = $DEPTH + 1) > 512
109 26 1066 if /\G[\x20\x09\x0a\x0d]*,/cgu
112 1064 2 if /\G[\x20\x09\x0a\x0d]*\]/cgu
124 1 1296 if (local $DEPTH = $DEPTH + 1) > 512
130 3 1297 unless /\G[\x20\x09\x0a\x0d]*"/cgu
136 1 1296 unless /\G[\x20\x09\x0a\x0d]*:/cgu
142 6 522 if /\G[\x20\x09\x0a\x0d]*,/cgu
145 521 1 if /\G[\x20\x09\x0a\x0d]*\}/cgu
162 2 1342 unless (/\G"/cgu)
163 1 1 if /\G[\x00-\x1f\\]/u
168 1337 5 if (index($str, "\\u") == -1)
179 4 6 if ($2) { }
186 3 3 if (($ord & 63488) == 55296)
189 1 2 unless ($ord & 64512) == 55296
192 1 1 unless $str =~ /\G\\u([Dd][C-Fc-f]..)/cgu
212 47 3188 if /\G"/cgu
215 1297 1891 if /\G\{/cgu
218 1847 44 if /\G\[/cgu
221 28 16 if /\G([-]?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)/cgu
224 5 11 if /\Gtrue/cgu
227 4 7 if /\Gfalse/cgu
230 5 2 if /\Gnull/cgu
256 88 67 if (my $ref = ref $value)
259 19 69 if $ref eq "HASH"
262 52 17 if $ref eq "ARRAY"
265 1 1 $$value ? :
2 15 if $ref eq "SCALAR"
266 5 4 $value ? :
9 6 if $ref eq "JSON::PP::Boolean"
269 1 5 unless builtin::blessed($value)
270 2 1 overload::Method($value, '""') ? :
3 2 unless my $sub = $value->can("TO_JSON")
275 4 63 unless defined $value
278 1 1 $value ? :
2 61 if builtin::is_bool($value)
282 23 5 if not utf8::is_utf8($value) and length((my $dummy = "") & $value) and 0 + $value eq $value and $value * 0 == 0
296 0 21 if (/\G\z/cgu) { }