Branch Coverage

blib/lib/Mojo/JSON.pm
Criterion Covered Total %
branch 81 82 98.7


line true false branch
13 1 70 $ENV{'MOJO_NO_JSON_XS'} ? :
38 20 169 defined $err ? :
47 2 9 defined $err ? :
51 3 91 if ref $_[0] eq "ARRAY" or ref $_[0] eq "HASH"
62 178 22 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 } } ? :
65 1 199 unless length(local $_ = shift())
68 188 11 unless shift()
69 2 197 unless defined $_
75 5 178 unless /\G[\x20\x09\x0a\x0d]*\z/cgu
89 80 68 if /\G[\x20\x09\x0a\x0d]*,/cgu
92 66 2 if /\G[\x20\x09\x0a\x0d]*\]/cgu
106 3 194 unless /\G[\x20\x09\x0a\x0d]*"/cgu
112 1 193 unless /\G[\x20\x09\x0a\x0d]*:/cgu
118 68 125 if /\G[\x20\x09\x0a\x0d]*,/cgu
121 124 1 if /\G[\x20\x09\x0a\x0d]*\}/cgu
138 2 344 unless (/\G"/cgu)
139 1 1 if /\G[\x00-\x1f\\]/u
144 339 5 if (index($str, "\\u") < 0)
155 4 6 if ($2) { }
162 3 3 if (($ord & 63488) == 55296)
165 1 2 unless ($ord & 64512) == 55296
168 1 1 unless $str =~ /\G\\u([Dd][C-Fc-f]..)/cgu
188 152 391 if /\G"/cgu
191 132 259 if /\G\{/cgu
194 77 182 if /\G\[/cgu
197 157 25 if /\G([-]?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)/cgu
200 6 19 if /\Gtrue/cgu
203 6 13 if /\Gfalse/cgu
206 10 3 if /\Gnull/cgu
232 219 283 if (my $ref = ref $value)
235 135 84 if $ref eq "HASH"
238 63 21 if $ref eq "ARRAY"
241 2 3 $$value ? :
5 16 if $ref eq "SCALAR"
242 5 4 $value ? :
9 7 if $ref eq "JSON::PP::Boolean"
245 1 6 unless &blessed($value)
246 3 3 unless my $sub = $value->can("TO_JSON")
251 9 274 unless defined $value
255 130 5 if not utf8::is_utf8($value) and length((my $dummy = "") & $value) and 0 + $value eq $value and $value * 0 == 0
269 0 19 if (/\G\z/cgu) { }