Branch Coverage

lib/mb/JSON.pm
Criterion Covered Total %
branch 62 68 91.1


line true false branch
18 0 5 if ($] < "5.006" and not defined &warnings::import)
22 0 5 if $INC[-1] eq "."
40 2 2 ${$_[0];} ? :
77 41 1 defined $_[0] ? :
81 1 34 if length $$r
87 4 1 defined $_[0] ? :
94 1 86 unless length $$r
98 17 69 if ($c eq '{') { }
8 61 elsif ($c eq '[') { }
21 40 elsif ($c eq '"') { }
5 35 elsif ($$r =~ s/\Anull(?=[^a-zA-Z0-9_]|$)//s) { }
9 26 elsif ($$r =~ s/\Atrue(?=[^a-zA-Z0-9_]|$)//s) { }
7 19 elsif ($$r =~ s/\Afalse(?=[^a-zA-Z0-9_]|$)//s) { }
19 0 elsif ($$r =~ s/\A(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)//s) { }
117 1 16 if ($$r =~ s/\A\}//s)
120 2 25 unless $$r =~ /\A"/
124 1 24 unless $$r =~ s/\A://s
129 11 13 if ($$r =~ s/\A,//s) { }
12 1 elsif ($$r =~ s/\A\}//s) { }
141 1 7 if ($$r =~ s/\A\]//s)
145 14 7 if ($$r =~ s/\A,//s) { }
6 1 elsif ($$r =~ s/\A\]//s) { }
163 45 168 if ($$r =~ s/\A"//s) { }
2 166 elsif ($$r =~ s[\A\\(["\\/bfnrt])][]s) { }
1 165 elsif ($$r =~ s/\A\\u([0-9a-fA-F]{4})//s) { }
164 1 elsif ($$r =~ s/\A($utf8_pat)//s) { }
176 1 0 if $cp <= 127
177 0 0 if ($cp <= 2047)
215 12 167 unless defined $v
216 17 13 $$v ? :
30 137 if (ref $v eq "mb::JSON::Boolean")
217 22 115 if (ref $v eq "ARRAY")
218 20 95 if (ref $v eq "HASH")
224 55 40 if (not ref $v and $v =~ /\A-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?\z/s)