Condition Coverage

blib/lib/JSON/Schema/Modern/Vocabulary/Core.pm
Criterion Covered Total %
condition 36 43 83.7


and 3 conditions

line !l l&&!r l&&r condition
49 0 2 1581 assert_keyword_type($state, $schema, "string") and assert_uri_reference($state, $schema)
112 0 1 5474 assert_keyword_type($state, $schema, "string") and assert_uri($state, $schema)
140 5161 291 1 exists $schema->{'$ref'} and $spec_version eq "draft7"
160 325 96 0 $state->{'spec_version'} =~ /^draft(?:7|2019-09)$/u and not $$schema{$state->{'keyword'}} =~ /^[A-Za-z][A-Za-z0-9_:.-]*$/u
96 321 4 $state->{'spec_version'} eq "draft2020-12" and not $$schema{$state->{'keyword'}} =~ /^[A-Za-z_][A-Za-z0-9._-]*$/u
203 0 28 2813 assert_keyword_type($state, $schema, "string") and assert_uri_reference($state, $schema)
220 17 24 82 is_type("boolean", $schema_info->{'schema'}{'$recursiveAnchor'}) and $schema_info->{'schema'}{'$recursiveAnchor'}
237 5 14 180 length $uri->fragment and exists $schema_info->{'schema'}{'$dynamicAnchor'}
14 11 169 length $uri->fragment and exists $schema_info->{'schema'}{'$dynamicAnchor'} and $uri->fragment eq (my $anchor = $schema_info->{'schema'}{'$dynamicAnchor'})
318 14 56 8 $schema_info->{'schema'}{'$vocabulary'}{$uri} and not $class_info

or 2 conditions

line l !l condition
245 169 94 $dynamic_anchor_subschema_info->{'schema'}{'$dynamicAnchor'} // ""
336 31 8 $vocabulary_classes[0] // ""

or 3 conditions

line l !l&&r !l&&!r condition
160 0 4 417 $state->{'spec_version'} =~ /^draft(?:7|2019-09)$/u and not $$schema{$state->{'keyword'}} =~ /^[A-Za-z][A-Za-z0-9_:.-]*$/u or $state->{'spec_version'} eq "draft2020-12" and not $$schema{$state->{'keyword'}} =~ /^[A-Za-z_][A-Za-z0-9._-]*$/u
189 52 535 97 not $schema->{'$recursiveAnchor'} or exists $state->{'recursive_anchor_uri'}
222 82 0 0 $state->{'recursive_anchor_uri'} // $state->{'initial_schema_uri'}