Branch Coverage

blib/lib/JSON/Schema/Modern/Utilities.pm
Criterion Covered Total %
branch 113 130 86.9


line true false branch
57 71 72302 if ($type eq "null")
60 8201 64101 if ($type eq "boolean")
63 18243 45858 if ($type eq "object")
66 11148 34710 if ($type eq "array")
70 10384 10 if ($type eq "string" or $type eq "number" or $type eq "integer")
71 14 34686 unless defined $value
74 24306 10380 if ($type eq "string")
78 6892 3488 if ($type eq "number")
83 3488 0 if ($type eq "integer")
89 6 4 if ($type =~ /^reference to (.+)$/u)
97 56120 21689 if XXX
98 8803 12886 if is_bool($value)
99 313 12573 unless defined $value
100 1252 11321 if XXX
102 270 126 $value->is_int ? :
3 54 &blessed($value) ? :
396 57 ref($value) =~ /^Math::Big(?:Int|Float)$/u ? :
453 10868 if XXX
107 6120 4748 if $flags & 1024 and not $flags & 768
108 4739 7 int $value == $value ? :
4746 2 if not $flags & 1024 and $flags & 768
122 1582 2871 if ($state->{'scalarref_booleans'})
123 10 1572 if $types[0] eq "reference to SCALAR"
124 17 1565 if $types[1] eq "reference to SCALAR"
127 893 3560 if $types[0] ne $types[1]
128 14 3546 if $types[0] eq "null"
129 1921 1625 if $types[0] eq "string"
130 1083 542 if grep(($types[0] eq $_), ("boolean", "number", "integer"))
133 214 328 if ($types[0] eq "object")
134 16 198 if keys %$x != keys %$y
135 6 192 unless is_equal([sort(keys %$x)], [sort(keys %$y)])
138 86 144 unless is_equal($x->{$property}, $y->{$property}, $state)
143 328 0 if ($types[0] eq "array")
144 8 320 if @$x != @$y
147 88 276 unless is_equal($x->[$idx], $y->[$idx], $state)
160 211 1179 if (is_equal($array->[$idx0], $array->[$idx1], {"scalarref_booleans", 1}))
161 211 0 if defined $equal_indices
173 1 56097 XXX ? :
190 17409 10198 unless @extra_path or length $state->{'schema_path'}
191 1 23869 if @extra_path and XXX
193 13672 10198 @extra_path ? :
194 71 23799 unless length $fragment
209 0 11206 unless defined wantarray
218 8708 2498 if $uri eq "" and $keyword_location eq "" or ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
227 2498 8708 defined $uri ? :
5598 5608 @args ? :
60 11146 $state->{'exception'} ? :
244 8298 2466 if not $state->{'collect_annotations'} or $state->{'spec_version'} eq "draft7"
262 5 2461 $state->{'_unknown'} ? :
274 0 55 if $state->{'traverse'}
279 0 0 unless defined wantarray
280 0 0 unless exists $$schema{$state->{'keyword'}}
285 0 39919 unless defined wantarray
291 0 0 XXX ? :
265 0 XXX ? :
265 39654 if exists $state->{'_schema_path_suffix'}
292 39901 18 if is_type($type, $value)
293 3 15 $type =~ /^[aeiou]/u ? :
297 0 2289 unless defined wantarray
308 0 4596 unless defined wantarray
313 26 1883 if fc "Mojo::URL"->new($string)->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u
325 0 5823 unless defined wantarray
330 4 0 if fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or not $uri->is_abs or $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u
346 82 1513 XXX ? :
351 66 1035 ref($value) =~ /^Math::Big(?:Int|Float)$/u ? :