Condition Coverage

blib/lib/JSON/Schema/Modern/Utilities.pm
Criterion Covered Total %
condition 71 84 84.5


and 3 conditions

line !l l&&!r l&&r condition
75 775 0 23165 !XXX && $flags & 1024 && !($flags & 768)
90 0 0 6 !&blessed($value) && ref $value eq $1
107 4718 2 6012 $flags & 1024 and not $flags & 768
108 2 0 4718 not $flags & 1024 and $flags & 768
191 10068 13527 1 @extra_path and XXX
218 11020 1 69 $uri eq "" and $keyword_location eq ""
1946 504 8571 ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
313 2255 336 1829 $string =~ /#/u and not $string =~ /#$/u
2591 323 1506 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
659 1480 26 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u
330 5707 22 0 $string =~ /#/u and not $string =~ /#$/u
5729 0 0 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
22 0 0 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u

or 2 conditions

line l !l condition
118 570 3835 $state->{'path'} //= ""
193 2406 21190 $uri->fragment // ""
218 11019 2 $uri->fragment // ""

or 3 conditions

line l !l&&r !l&&!r condition
70 23950 6894 3500 $type eq "string" or $type eq "number"
30844 3490 10 $type eq "string" or $type eq "number" or $type eq "integer"
79 357 5436 1099 ref($value) =~ /^Math::Big(?:Int|Float)$/u || !($flags & 1024) && $flags & 768
84 95 3343 50 ref($value) =~ /^Math::Big(?:Int|Float)$/u && $value->is_int || !($flags & 1024) && $flags & 768 && int $value == $value
190 13528 10068 17209 @extra_path or length $state->{'schema_path'}
218 69 9733 1288 $uri eq "" and $keyword_location eq "" or ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
244 8223 4 2438 not $state->{'collect_annotations'} or $state->{'spec_version'} eq "draft7"
313 4 0 4420 fc "Mojo::URL"->new($string)->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u
4 142 4278 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
327 262 5475 0 $override // $$schema{$state->{'keyword'}}
330 4 0 5733 fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u
4 4 5729 fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or not $uri->is_abs
4 0 5729 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