Branch Coverage

lib/PHP/Decode/Op.pm
Criterion Covered Total %
branch 181 278 65.1


line true false branch
17 5 6 if ($val =~ /^([+-]?[0-9\.]+)/)
26 69 10 if ($s =~ /^(\#num\d+|\#null)$/)
37 0 89 if ($val =~ /^#const\d+$/)
43 7 82 if (is_array($val))
45 0 7 if ($op ne "!")
49 1 6 $arr->empty ? :
52 59 30 if ($op eq '++') { }
8 22 elsif ($op eq '--') { }
1 21 elsif ($op eq '~') { }
15 6 elsif ($op eq '!') { }
0 6 elsif ($op eq 'not') { }
5 1 elsif ($op eq '-') { }
1 0 elsif ($op eq '+') { }
53 52 7 if ($val =~ /^#num\d+$/) { }
64 7 1 if ($val =~ /^#num\d+$/) { }
74 1 0 if ($val =~ /^#num\d+$/) { }
81 6 9 $s ? :
83 0 0 $s ? :
92 8 81 if ($to_str) { }
107 1 250 if ($val1 =~ /^#const\d+$/ or $val2 =~ /^#const\d+$/)
112 15 235 if ($val1 eq '#null') { }
21 214 elsif ($val2 eq '#null') { }
113 4 11 if ($val2 eq '#null') { }
9 2 elsif ($val2 =~ /^#num\d+$/) { }
0 2 elsif (is_array($val2)) { }
122 0 0 $arr->empty ? :
128 1 20 if ($val1 =~ /^#num\d+$/) { }
2 18 elsif (is_array($val1)) { }
133 2 0 $arr->empty ? :
146 2 212 if (is_array($val1))
148 0 2 $arr->empty ? :
150 4 210 if (is_array($val2))
152 0 4 $arr->empty ? :
177 35 215 if ($op eq '+') { }
1 214 elsif ($op eq '-') { }
3 211 elsif ($op eq '*') { }
1 210 elsif ($op eq '/') { }
0 210 elsif ($op eq '%') { }
19 191 elsif ($op eq '==' or $op eq '!=') { }
45 146 elsif ($op eq '<' or $op eq '>=') { }
12 134 elsif ($op eq '>' or $op eq '<=') { }
4 130 elsif ($op eq '===' or $op eq '!==') { }
6 124 elsif ($op eq '<=>') { }
0 124 elsif ($op eq '&&') { }
0 124 elsif ($op eq '||') { }
0 124 elsif ($op eq 'and') { }
0 124 elsif ($op eq 'or') { }
0 124 elsif ($op eq 'xor') { }
110 14 elsif ($op eq '.') { }
3 11 elsif ($op eq '^') { }
1 10 elsif ($op eq '&') { }
2 8 elsif ($op eq '|') { }
2 6 elsif ($op eq '<<') { }
1 5 elsif ($op eq '>>') { }
2 3 elsif ($op eq '?:') { }
3 0 elsif ($op eq '??') { }
178 30 5 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
190 1 0 if (int $s2 != 0) { }
196 0 0 if (int $s2 != 0) { }
207 8 11 if (is_numval($val1) and is_numval($val2)) { }
2 9 elsif (is_array($val1) and is_array($val2)) { }
0 9 elsif (is_array($val1) and not is_array($val2) and not is_null($val2)) { }
0 9 elsif (not is_array($val1) and is_array($val2) and not is_null($val1)) { }
1 8 elsif (is_numval($val1) and not is_numval($val2)) { }
0 8 elsif (not is_numval($val1) and is_numval($val2)) { }
208 4 4 $s1 == $s2 ? :
210 1 1 array_compare($parser, $val1, $val2) == 0 ? :
216 0 1 $s1 == to_num($s2) ? :
218 0 0 to_num($s1) == $s2 ? :
220 6 2 $s1 eq $s2 ? :
223 1 18 if $op eq "!="
227 39 6 if (is_numval($val1) and is_numval($val2)) { }
0 6 elsif (is_array($val1) and is_array($val2)) { }
0 6 elsif (is_array($val1) and not is_array($val2) and not is_null($val2)) { }
1 5 elsif (not is_array($val1) and is_array($val2) and not is_null($val1)) { }
2 3 elsif (is_numval($val1) and not is_numval($val2)) { }
3 0 elsif (not is_numval($val1) and is_numval($val2)) { }
228 30 9 $s1 < $s2 ? :
230 0 0 array_compare($parser, $val1, $val2) < 0 ? :
236 0 2 $s1 < to_num($s2) ? :
238 2 1 to_num($s1) < $s2 ? :
240 0 0 $s1 lt $s2 ? :
242 0 45 if $op eq ">="
246 11 1 if (is_numval($val1) and is_numval($val2)) { }
0 1 elsif (is_array($val1) and is_array($val2)) { }
0 1 elsif (is_array($val1) and not is_array($val2) and not is_null($val2)) { }
0 1 elsif (not is_array($val1) and is_array($val2) and not is_null($val1)) { }
1 0 elsif (is_numval($val1) and not is_numval($val2)) { }
0 0 elsif (not is_numval($val1) and is_numval($val2)) { }
247 3 8 $s1 > $s2 ? :
249 0 0 array_compare($parser, $val1, $val2) > 0 ? :
255 0 1 $s1 > to_num($s2) ? :
257 0 0 to_num($s1) > $s2 ? :
259 0 0 $s1 gt $s2 ? :
261 8 4 if $op eq "<="
265 1 3 if (is_null($val1) and is_null($val2)) { }
0 3 elsif (is_array($val1) and is_array($val2)) { }
0 3 elsif (is_array($val1) and not is_array($val2) and not is_null($val2)) { }
0 3 elsif (not is_array($val1) and is_array($val2) and not is_null($val1)) { }
2 1 elsif (is_null($val1) or is_null($val2)) { }
1 0 elsif (is_numval($val1) and is_numval($val2)) { }
269 0 0 array_compare($parser, $val1, $val2, 1) == 0 ? :
277 1 0 $s1 == $s2 ? :
279 0 0 $s1 eq $s2 ? :
281 0 4 if $op eq "!=="
283 0 6 if (is_null($val1) and is_null($val2)) { }
0 6 elsif (is_array($val1) and is_array($val2)) { }
0 6 elsif (is_array($val1) and not is_array($val2)) { }
0 6 elsif (not is_array($val1) and is_array($val2)) { }
0 6 elsif (is_null($val1) or is_null($val2)) { }
3 3 elsif (is_numval($val1) and is_numval($val2)) { }
292 0 0 if ($s1 eq '' or $s2 eq '') { }
303 0 0 $s1 && $s2 ? :
305 0 0 $s1 || $s2 ? :
307 0 0 $s1 && $s2 ? :
309 0 0 $s1 || $s2 ? :
311 0 0 ($s1 xor $s2) ? :
313 0 110 if is_array($val1)
314 1 109 if is_array($val2)
318 0 3 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
325 1 0 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
332 0 2 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
339 2 0 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
346 1 0 if (is_numval_or_null($val1) and is_numval_or_null($val2)) { }
353 1 1 $s1 ? :
356 1 2 $s1 ? :
362 115 130 if ($to_str) { }
363 110 5 if ($op eq '.') { }
381 0 51 unless (is_array($a))
387 0 98 unless (is_int_index($k) or is_strval($k))
391 98 0 if (defined $val)
392 0 98 unless (is_strval($val))
393 0 0 unless is_array($val)
394 0 0 unless &array_is_const($parser, $val)
406 0 3 unless (is_array($a) and is_array($b))
415 0 3 if ($cmp != 0)
424 2 1 if ($result != 0)
427 0 1 if ($check_types)
429 0 0 if ($result != 0)