Branch Coverage

blib/lib/Mojo/JSON.pm
Criterion Covered Total %
branch 85 86 98.8


line true false branch
14 1 74 $ENV{'MOJO_NO_JSON_XS'} ? :
45 20 48 defined $err ? :
58 5 94 if ref $_[0] eq "ARRAY" or ref $_[0] eq "HASH"
69 50 21 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 } } ? :
72 1 70 unless length(local $_ = shift())
75 67 3 unless shift()
76 2 68 unless defined $_
82 5 50 unless /\G[\x20\x09\x0a\x0d]*\z/cgu
96 26 44 if /\G[\x20\x09\x0a\x0d]*,/cgu
99 42 2 if /\G[\x20\x09\x0a\x0d]*\]/cgu
113 3 17 unless /\G[\x20\x09\x0a\x0d]*"/cgu
119 1 16 unless /\G[\x20\x09\x0a\x0d]*:/cgu
125 6 10 if /\G[\x20\x09\x0a\x0d]*,/cgu
128 9 1 if /\G[\x20\x09\x0a\x0d]*\}/cgu
145 2 62 unless (/\G"/cgu)
146 1 1 if /\G[\x00-\x1f\\]/u
151 57 5 if (index($str, "\\u") == -1)
162 4 6 if ($2) { }
169 3 3 if (($ord & 63488) == 55296)
172 1 2 unless ($ord & 64512) == 55296
175 1 1 unless $str =~ /\G\\u([Dd][C-Fc-f]..)/cgu
195 47 112 if /\G"/cgu
198 16 96 if /\G\{/cgu
201 53 43 if /\G\[/cgu
204 27 16 if /\G([-]?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)/cgu
207 5 11 if /\Gtrue/cgu
210 4 7 if /\Gfalse/cgu
213 5 2 if /\Gnull/cgu
239 88 67 if (my $ref = ref $value)
242 19 69 if $ref eq "HASH"
245 52 17 if $ref eq "ARRAY"
248 1 1 $$value ? :
2 15 if $ref eq "SCALAR"
249 5 4 $value ? :
9 6 if $ref eq "JSON::PP::Boolean"
252 1 5 unless builtin::blessed($value)
253 2 1 overload::Method($value, '""') ? :
3 2 unless my $sub = $value->can("TO_JSON")
258 4 63 unless defined $value
261 1 1 $value ? :
2 61 if builtin::is_bool($value)
265 23 5 if not utf8::is_utf8($value) and length((my $dummy = "") & $value) and 0 + $value eq $value and $value * 0 == 0
279 0 18 if (/\G\z/cgu) { }