Condition Coverage

lib/JSV/Compiler.pm
Criterion Covered Total %
condition 101 160 63.1


and 3 conditions

line !l l&&!r l&&r condition
54 25 45 0 $dtype and $dtype eq 'HASH' || $dtype eq 'ARRAY'
63 65 11 81 $dtype and $dtype eq 'HASH' || $dtype eq 'ARRAY'
102 157 49 47 $ctype eq 'ARRAY' and 'HASH' eq ref $_
206 11 36 $ctype eq 'ARRAY' and 'HASH' eq ref $_ and keys %$_ == 1
60 32 4 $ctype eq 'ARRAY' and 'HASH' eq ref $_ and keys %$_ == 1 and $_->{'$ref'}
32 0 4 $ctype eq 'ARRAY' and 'HASH' eq ref $_ and keys %$_ == 1 and $_->{'$ref'} and not ref $_->{'$ref'}
112 100 22 31 'HASH' eq ref $v and keys %$v == 1
122 29 2 'HASH' eq ref $v and keys %$v == 1 and $v->{'$ref'}
29 0 2 'HASH' eq ref $v and keys %$v == 1 and $v->{'$ref'} and not ref $v->{'$ref'}
147 0 4 $k eq '$ref' and not ref $_->{$k}
146 0 1 $k eq 'id' || $k eq '$id' and not ref $v
116 2 0 2 $r and 'HASH' eq ref $r
286 51 0 10 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'}
51 0 10 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'} and @{$schmpt->{'enum'};}
291 55 0 6 $schmpt->{'format'} and $formats{$schmpt->{'format'}}
322 10 5 0 defined $minimum and $exclusiveMinimum
326 12 3 0 defined $maximum and $exclusiveMaximum
354 15 0 0 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'}
15 0 0 $schmpt->{'enum'} and 'ARRAY' eq ref $schmpt->{'enum'} and @{$schmpt->{'enum'};}
359 15 0 0 $schmpt->{'format'} and $formats{$schmpt->{'format'}}
470 2 0 22 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}
472 2 0 20 $schmpt->{'required'} and 'ARRAY' eq ref $schmpt->{'required'}
510 0 0 2 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}
526 0 0 10 $schmpt->{'properties'} and 'HASH' eq ref $schmpt->{'properties'}

or 2 conditions

line l !l condition
134 1 26 $opts{'coersion'} // 0
135 0 27 $opts{'to_json'} // 0
137 0 27 $opts{'input_symbole'} // '$_[0]'
140 7 20 ($opts{'is_required'} // $type eq 'object') || 0
311 10 5 $ntype ||= ''

or 3 conditions

line l !l&&r !l&&!r condition
30 0 0 0 $file =~ /\.yaml$/i or $file =~ /\.yml$/i
54 21 0 24 $dtype eq 'HASH' || $dtype eq 'ARRAY'
63 53 37 2 $dtype eq 'HASH' || $dtype eq 'ARRAY'
78 1 0 25 $self->{'full_schema'}{'id'} || $self->{'full_schema'}{'$id'}
112 1 0 146 $k eq 'id' || $k eq '$id'
139 7 20 0 $schema->{'type'} // _guess_schema_type($schema)
179 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'}
185 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'}
191 3 1 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'}
4 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or exists $shmpt->{'exclusiveMinimum'}
0 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or exists $shmpt->{'exclusiveMinimum'} or exists $shmpt->{'exclusiveMaximum'}
0 0 32 defined $shmpt->{'minimum'} or defined $shmpt->{'maximum'} or exists $shmpt->{'exclusiveMinimum'} or exists $shmpt->{'exclusiveMaximum'} or defined $shmpt->{'multipleOf'}
295 0 1 60 $self->{'to_json'} or $self->{'coersion'}
363 0 1 14 $self->{'to_json'} or $self->{'coersion'}
392 30 18 9 $subschm->{'type'} // $type
48 9 0 ($subschm->{'type'} // $type) // _guess_schema_type($schm)
478 33 12 0 $schmpt->{'properties'}{$k}{'type'} // _guess_schema_type($schmpt->{'properties'}{$k})
500 1 1 0 $schmpt->{'patternProperties'}{$pt}{'type'} // _guess_schema_type($schmpt->{'patternProperties'}{$pt})
523 0 0 10 ref $schmpt->{'additionalProperties'} or $schmpt->{'additionalProperties'}
581 3 0 0 $schmpt->{'items'}{'type'} // _guess_schema_type($schmpt->{'items'})