Condition Coverage

blib/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
Criterion Covered Total %
condition 41 44 93.1


and 3 conditions

line !l l&&!r l&&r condition
114 364 84 27 @valid > 1 and $state->{'short_circuit'}
290 111 12 63 $state->{'short_circuit'} and not exists $$schema{$state->{'keyword'} eq "prefixItems" ? "items" : ($state->{'keyword'} eq "items" ? "additionalItems" : die())}
353 246 42 123 $state->{'short_circuit'} and !exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'}
42 18 105 $state->{'short_circuit'} and !exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'} and $state->{'_num_contains'} >= ($schema->{'minContains'} // 1)
358 294 212 0 not $state->{'_num_contains'} and ($schema->{'minContains'} // 1) > 0 || $state->{'spec_version'} eq 'draft7'
453 527 101 146 exists $schema->{'properties'} and exists $schema->{'properties'}{$property}
455 478 61 89 exists $schema->{'patternProperties'} and &any(sub {

or 2 conditions

line l !l condition
266 0 900 $state->{'_last_items_index'} // -1
302 267 528 $state->{'_last_items_index'} // -1
306 77 476 $state->{'_last_items_index'} // -1
353 40 83 $schema->{'minContains'} // 1

or 3 conditions

line l !l&&r !l&&!r condition
146 264 40 53 exists $schema->{'then'} or exists $schema->{'else'}
40 20 33 exists $schema->{'then'} or exists $schema->{'else'} or $state->{'collect_annotations'}
311 11 20 49 exists $schema->{'prefixItems'} || $state->{'keyword'} eq 'additionalItems'
353 105 18 42 !exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'}
358 200 0 12 ($schema->{'minContains'} // 1) > 0 || $state->{'spec_version'} eq 'draft7'