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 23531 !XXX && $flags & 1024 && !($flags & 768)
90 0 0 6 !&blessed($value) && ref $value eq $1
107 4746 2 6120 $flags & 1024 and not $flags & 768
108 2 0 4746 not $flags & 1024 and $flags & 768
191 10198 13671 1 @extra_path and XXX
218 11136 1 69 $uri eq "" and $keyword_location eq ""
1982 516 8639 ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
313 2347 336 1909 $string =~ /#/u and not $string =~ /#$/u
2683 351 1558 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
687 1532 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 5787 28 0 $string =~ /#/u and not $string =~ /#$/u
5815 0 0 $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
28 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 594 3859 $state->{'path'} //= ""
193 2438 21432 $uri->fragment // ""
218 11135 2 $uri->fragment // ""

or 3 conditions

line l !l&&r !l&&!r condition
70 24316 6894 3500 $type eq "string" or $type eq "number"
31210 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 13672 10198 17409 @extra_path or length $state->{'schema_path'}
218 69 9843 1294 $uri eq "" and $keyword_location eq "" or ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
244 8294 4 2466 not $state->{'collect_annotations'} or $state->{'spec_version'} eq "draft7"
313 4 0 4592 fc "Mojo::URL"->new($string)->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u
4 142 4450 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 5561 0 $override // $$schema{$state->{'keyword'}}
330 4 0 5819 fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u
4 4 5815 fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or not $uri->is_abs
4 0 5815 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