Condition Coverage

lib/JSV/Compilator.pm
Criterion Covered Total %
condition 60 115 52.1


and 3 conditions

line !l l&&!r l&&r condition
48 298 97 0 ref $_ eq 'HASH' and exists $_->{'$ref'}
97 0 0 ref $_ eq 'HASH' and exists $_->{'$ref'} and not ref $_->{'$ref'}
97 0 0 ref $_ eq 'HASH' and exists $_->{'$ref'} and not ref $_->{'$ref'} and keys %$_ == 1
225 50 0 10 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'}
50 0 10 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'} and @{$schmpt->{'enum'};}
230 54 0 6 $schmpt->{'format'} and $formats{$schmpt->{'format'}}
283 14 0 0 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'}
14 0 0 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'} and @{$schmpt->{'enum'};}
288 14 0 0 $schmpt->{'format'} and $formats{$schmpt->{'format'}}
399 2 0 21 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}
401 2 0 19 $schmpt->{'required'} and 'ARRAY' eq ref $schmpt->{'required'}
438 0 0 2 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}
454 0 0 10 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}

or 2 conditions

line l !l condition
70 0 26 $opts{'coersion'} // 0
71 0 26 $opts{'to_json'} // 0
73 0 26 $opts{'input_symbole'} // '$_[0]'
76 6 20 ($opts{'is_required'} // $type eq 'object') || 0
250 9 5 $ntype ||= ''

or 3 conditions

line l !l&&r !l&&!r condition
30 0 0 0 $file =~ /\.yaml$/i or $file =~ /\.yml$/i
75 6 20 0 $schema->{'type'} // _guess_schema_type($schema)
119 0 0 42 defined $shmpt->{'additionalProperties'} or $shmpt->{'patternProperties'}
0 6 36 defined $shmpt->{'additionalProperties'} or $shmpt->{'patternProperties'} or $shmpt->{'properties'}
6 0 36 defined $shmpt->{'additionalProperties'} or $shmpt->{'patternProperties'} or $shmpt->{'properties'} or defined $shmpt->{'minProperties'}
6 0 36 defined $shmpt->{'additionalProperties'} or $shmpt->{'patternProperties'} or $shmpt->{'properties'} or defined $shmpt->{'minProperties'} or defined $shmpt->{'maxProperties'}
125 0 0 36 defined $shmpt->{'additionalItems'} or defined $shmpt->{'uniqueItems'}
0 0 36 defined $shmpt->{'additionalItems'} or defined $shmpt->{'uniqueItems'} or $shmpt->{'items'}
0 0 36 defined $shmpt->{'additionalItems'} or defined $shmpt->{'uniqueItems'} or $shmpt->{'items'} or defined $shmpt->{'minItems'}
0 0 36 defined $shmpt->{'additionalItems'} or defined $shmpt->{'uniqueItems'} or $shmpt->{'items'} or defined $shmpt->{'minItems'} or defined $shmpt->{'maxItems'}
131 3 1 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'}
4 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or defined $shmpt->{'exclusiveMinimum'}
1 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or defined $shmpt->{'exclusiveMinimum'} or defined $shmpt->{'exclusiveMaximum'}
0 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or defined $shmpt->{'exclusiveMinimum'} or defined $shmpt->{'exclusiveMaximum'} or defined $shmpt->{'multipleOf'}
234 0 0 60 $self->{'to_json'} or $self->{'coersion'}
292 0 0 14 $self->{'to_json'} or $self->{'coersion'}
321 30 18 9 $subschm->{'type'} // $type
48 9 0 ($subschm->{'type'} // $type) // _guess_schema_type($schm)
407 29 12 0 $schmpt->{'properties'}{$k}{'type'} // _guess_schema_type($schmpt->{'properties'}{$k})
428 1 1 0 $schmpt->{'patternProperties'}{$pt}{'type'} // _guess_schema_type($schmpt->{'patternProperties'}{$pt})
451 0 0 10 ref $schmpt->{'additionalProperties'} or $schmpt->{'additionalProperties'}
506 3 0 0 $schmpt->{'items'}{'type'} // _guess_schema_type($schmpt->{'items'})