Branch Coverage

blib/lib/JSON/Schema/Draft201909/Utilities.pm
Criterion Covered Total %
branch 77 82 93.9


line true false branch
52 102 22770 if ($type eq 'null')
55 2756 20014 if ($type eq 'boolean')
58 5629 14385 if ($type eq 'object')
61 3542 10843 if ($type eq 'array')
65 3903 1 if ($type eq 'string' or $type eq 'number' or $type eq 'integer')
66 669 10173 if not defined $value or XXX
69 6665 3508 if ($type eq 'string')
73 2041 1467 if ($type eq 'number')
77 1467 0 if ($type eq 'integer')
91 58 22159 unless defined $value
92 17125 5034 if XXX
93 350 4684 if XXX
94 2561 2123 if is_bool($value)
96 9 2114 if XXX
99 1402 712 if $flags & 1024 and not $flags & 768
100 711 1 if not $flags & 1024 and $flags & 768
114 365 1130 if $types[0] ne $types[1]
115 6 1124 if $types[0] eq 'null'
116 617 507 if $types[0] eq 'string'
117 291 216 if $types[0] eq 'boolean' or $types[0] eq 'number'
120 88 128 if ($types[0] eq 'object')
121 6 82 if keys %$x != keys %$y
122 6 76 unless is_equal([sort(keys %$x)], [sort(keys %$y)])
125 38 56 unless is_equal($x->{$property}, $y->{$property}, $state)
130 128 0 if ($types[0] eq 'array')
131 4 124 if @$x != @$y
134 34 114 unless is_equal($x->[$idx], $y->[$idx], $state)
148 62 512 if (is_equal($array->[$idx0], $array->[$idx1]))
149 62 0 if defined $equal_indices
175 5425 7743 unless length $uri->fragment
189 2899 795 if $uri eq '' and $keyword_location eq '' or ($uri->fragment // '') eq $keyword_location and $uri->clone->fragment(undef) eq ''
195 795 2899 defined $uri ? :
1788 1906 @args ? :
206 2380 387 unless $state->{'collect_annotations'}
213 371 16 if $uri eq '' and $keyword_location eq '' or ($uri->fragment // '') eq $keyword_location and $uri->clone->fragment(undef) eq ''
219 16 371 defined $uri ? :
238 10536 6 if is_type($type, $$schema{$state->{'keyword'}})
239 0 6 $type =~ /^[aeiou]/u ? :
259 8 443 if fc 'Mojo::URL'->new($ref)->to_unsafe_string ne fc $ref or $ref =~ /[^[:ascii:]]/u or $ref =~ /#/u and not $ref =~ /#$/u and not $ref =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $ref =~ m[#/(?:[^~]|~[01])*$]u
275 2 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
292 66 455 XXX ? :