line |
true |
false |
branch |
54
|
0 |
0 |
if length $hostname > 255 |
56
|
0 |
0 |
unless $hostname =~ qr/^$HOSTNAME_RE$/ |
58
|
0 |
0 |
if grep {length $_ > 63;} split(/\./, $hostname, 0) |
65
|
0 |
0 |
unless $email =~ /^$EMAIL_RE$/ |
69
|
0 |
0 |
if length $hostname > 255 |
70
|
0 |
0 |
if grep {length $_ > 63;} split(/\./, $hostname, 0) |
79
|
0 |
0 |
unless @parts > 0 and @parts < 5 |
82
|
0 |
0 |
unless $part =~ /^[0-9]+$/ and $part >= 0 and $part < 256 |
85
|
0 |
0 |
unless $parts[-1] > 0 |
94
|
0 |
0 |
unless @parts > 0 and @parts < 9 |
97
|
0 |
0 |
if $part eq '' |
99
|
0 |
0 |
unless $part =~ /^[0-9a-f]{1,4}$/i |
107
|
0 |
0 |
unless $date_time =~ /$DATETIME_RE/ |
113
|
0 |
0 |
unless eval {
do {
'Time::Piece'->strptime(uc $date_time, '%Y-%m-%dT%T%z')
}
} |
148
|
1 |
1 |
if (_is_object($schema)) { } |
|
0 |
1 |
elsif (_is_array($schema)) { } |
151
|
0 |
1 |
if ($schema->{'id'} and _is_string($schema->{'id'})) |
157
|
0 |
0 |
if ($id =~ /^http/) { } |
161
|
0 |
0 |
unless ($base_url =~ m[/$]) |
169
|
0 |
0 |
if (not $id =~ /^#/) { } |
|
0 |
0 |
elsif ($path) { } |
170
|
0 |
0 |
if ($id =~ m[/$]) { } |
180
|
0 |
0 |
if ($base_url) |
188
|
0 |
0 |
if ($base_url) |
200
|
0 |
1 |
if ($schema->{'$ref'} and _is_string($schema->{'$ref'})) |
203
|
0 |
0 |
unless ($ref =~ /^http/) |
204
|
0 |
0 |
if ($ref =~ /^#/) |
205
|
0 |
0 |
if (my $path = $new_context->{'path'}) |
210
|
0 |
0 |
if (my $base_url = $new_context->{'base_url'}) |
233
|
1 |
0 |
if (_is_object($schema)) { } |
|
0 |
0 |
elsif (_is_array($schema)) { } |
234
|
0 |
1 |
if ($schema->{'$ref'} and _is_string($schema->{'$ref'})) |
238
|
0 |
0 |
if (exists $context->{'ids'}{$ref}) { } |
242
|
0 |
0 |
unless ($ref =~ /^http/) |
243
|
0 |
0 |
if ($ref =~ /^#/) |
244
|
0 |
0 |
if ($context->{'path'}) |
249
|
0 |
0 |
if ($context->{'base_url'}) |
254
|
0 |
0 |
if (exists $context->{'ids'}{$ref}) { } |
|
0 |
0 |
elsif ($ref =~ /^http/) { } |
265
|
0 |
0 |
if ($subschema) |
267
|
0 |
0 |
if $key eq 'definitions' |
273
|
0 |
0 |
if $key eq 'id' |
278
|
0 |
0 |
if ($schema->{'$ref'}) |
301
|
1 |
0 |
if (_is_object($schema)) |
302
|
1 |
0 |
if (my $types = $schema->{'type'}) |
307
|
0 |
1 |
if (my $enum = $schema->{'enum'}) |
312
|
0 |
1 |
if (exists $schema->{'const'}) |
318
|
0 |
1 |
if (_is_object($json)) { } |
|
1 |
0 |
elsif (_is_array($json)) { } |
|
0 |
0 |
elsif (_is_number($json)) { } |
|
0 |
0 |
elsif (_is_string($json)) { } |
335
|
0 |
1 |
if (my $subschema_type = _subschema($schema)) |
342
|
0 |
1 |
if (_is_string($json)) |
343
|
0 |
0 |
if (my $format = $schema->{'format'}) |
344
|
0 |
0 |
if (my $cb = $self->{'formats'}{$format}) |
345
|
0 |
0 |
unless (&$cb($json)) |
366
|
1 |
0 |
unless ref $types eq 'ARRAY' |
370
|
0 |
1 |
if (_is_object($type)) { } |
|
1 |
0 |
elsif (not _is_type($json, $type)) { } |
388
|
1 |
0 |
if (@results and not grep({$_->is_success;} @results)) |
389
|
1 |
0 |
if (@results == 1) { } |
410
|
0 |
0 |
unless ref $subschemas eq 'ARRAY' |
421
|
0 |
0 |
if ($type eq 'allOf') { } |
|
0 |
0 |
elsif ($type eq 'anyOf') { } |
|
0 |
0 |
elsif ($type eq 'oneOf') { } |
|
0 |
0 |
elsif ($type eq 'not') { } |
422
|
0 |
0 |
if (@valid != @subresults) |
431
|
0 |
0 |
unless (@valid) |
440
|
0 |
0 |
if (@valid != 1) |
449
|
0 |
0 |
if (@valid) |
469
|
0 |
0 |
exists $schema->{'required'} ? : |
471
|
0 |
0 |
if (exists $schema->{'properties'}) |
475
|
0 |
0 |
if (exists $schema->{'properties'}{$key}{'required'} and _is_boolean($schema->{'properties'}{$key}{'required'})) |
483
|
0 |
0 |
if (exists $schema->{'dependencies'}) |
485
|
0 |
0 |
unless exists $json->{$dependency} |
487
|
0 |
0 |
if (_is_array($schema->{'dependencies'}{$dependency})) { } |
|
0 |
0 |
elsif (_is_object($schema->{'dependencies'}{$dependency})) { } |
494
|
0 |
0 |
if ($key eq 'required') { } |
505
|
0 |
0 |
if (defined(my $min_properties = $schema->{'minProperties'})) |
506
|
0 |
0 |
if (keys %$json < $min_properties) |
516
|
0 |
0 |
if (defined(my $max_properties = $schema->{'maxProperties'})) |
517
|
0 |
0 |
if (keys %$json > $max_properties) |
527
|
0 |
0 |
if (@required) |
529
|
0 |
0 |
unless (exists $json->{$name}) |
542
|
0 |
0 |
if (exists $schema->{'additionalProperties'}) |
543
|
0 |
0 |
if (_is_boolean($schema->{'additionalProperties'}) and not $schema->{'additionalProperties'}) { } |
|
0 |
0 |
elsif (_is_object($schema->{'additionalProperties'})) { } |
545
|
0 |
0 |
if (my $pattern_properties = $schema->{'patternProperties'}) |
547
|
0 |
0 |
if $additional_property =~ /$pattern_property/ |
561
|
0 |
0 |
if (my $pattern_properties = $schema->{'patternProperties'}) |
563
|
0 |
0 |
if $additional_property =~ /$pattern_property/ |
577
|
0 |
0 |
if (my $properties = $schema->{'properties'}) |
579
|
0 |
0 |
if (exists $json->{$name}) |
587
|
0 |
0 |
if (_is_object($schema->{'patternProperties'})) |
608
|
0 |
1 |
if (defined(my $min_items = $schema->{'minItems'})) |
609
|
0 |
0 |
if (@$json < $min_items) |
619
|
0 |
1 |
if (defined(my $max_items = $schema->{'maxItems'})) |
620
|
0 |
0 |
if (@$json > $max_items) |
630
|
0 |
1 |
if (_is_array($schema->{'items'})) |
635
|
0 |
0 |
if @$json < $i + 1 |
642
|
0 |
0 |
if ($got_length > $exp_length) |
643
|
0 |
0 |
if (_is_boolean($schema->{'additionalItems'})) { } |
|
0 |
0 |
elsif (_is_object($schema->{'additionalItems'})) { } |
644
|
0 |
0 |
unless ($schema->{'additionalItems'}) |
664
|
0 |
1 |
if (_is_object($schema->{'items'})) |
672
|
0 |
1 |
if ($schema->{'uniqueItems'}) |
675
|
0 |
0 |
defined $el ? : |
|
0 |
0 |
ref $el ? : |
677
|
0 |
0 |
if (exists $seen->{$hash}) |
690
|
0 |
1 |
if ($schema->{'contains'}) |
691
|
0 |
0 |
unless (@$json) |
709
|
0 |
0 |
if (defined(my $max_length = $schema->{'maxLength'})) |
710
|
0 |
0 |
if (length $json > $max_length) |
720
|
0 |
0 |
if (defined(my $min_length = $schema->{'minLength'})) |
721
|
0 |
0 |
if (length $json < $min_length) |
731
|
0 |
0 |
if (my $pattern = $schema->{'pattern'}) |
732
|
0 |
0 |
unless ($json =~ /$pattern/) |
751
|
0 |
0 |
if (defined(my $minimum = $schema->{'minimum'})) |
752
|
0 |
0 |
if ($schema->{'exclusiveMinimum'}) { } |
753
|
0 |
0 |
if ($json <= $minimum) |
763
|
0 |
0 |
if ($json < $minimum) |
774
|
0 |
0 |
if (_is_number($schema->{'exclusiveMaximum'})) |
777
|
0 |
0 |
if ($json >= $maximum) |
787
|
0 |
0 |
if (defined(my $maximum = $schema->{'maximum'})) |
788
|
0 |
0 |
if ($schema->{'exclusiveMaximum'}) { } |
789
|
0 |
0 |
if ($json >= $maximum) |
799
|
0 |
0 |
if ($json > $maximum) |
810
|
0 |
0 |
if (defined(my $divisibleBy = $schema->{'divisibleBy'})) |
811
|
0 |
0 |
if (sprintf('%0.6f', $json) ne sprintf('%0.6f', int($json / $divisibleBy) * $divisibleBy)) |
821
|
0 |
0 |
if (defined(my $multipleOf = $schema->{'multipleOf'})) |
822
|
0 |
0 |
if (sprintf('%0.6f', $json) ne sprintf('%0.6f', int($json / $multipleOf) * $multipleOf)) |
843
|
0 |
0 |
ref $el ? : |
847
|
0 |
0 |
defined $json ? : |
|
0 |
0 |
ref $json ? : |
849
|
0 |
0 |
unless (exists $set->{$hash}) |
869
|
0 |
0 |
if (_is_type($json, $exp_type) or $exp_type eq 'integer' and _type($json) eq 'number') { } |
870
|
0 |
0 |
if (_is_object($json) or _is_array($json)) { } |
|
0 |
0 |
elsif (_is_number($json)) { } |
|
0 |
0 |
elsif (_is_string($json)) { } |
|
0 |
0 |
elsif (_is_boolean($json)) { } |
871
|
0 |
0 |
if ('JSON'->new->utf8->canonical->encode($json) ne 'JSON'->new->utf8->canonical->encode($const)) |
880
|
0 |
0 |
if (sprintf('%0.6f', $const) ne sprintf('%0.6f', $json)) |
890
|
0 |
0 |
if ($json ne $const) |
900
|
0 |
0 |
if ($const != $json) |
943
|
0 |
11 |
unless defined $value |
944
|
0 |
11 |
if ref $value |
945
|
0 |
11 |
if &JSON::is_bool($value) |
949
|
7 |
4 |
if $flags & 12288 and not $flags & 16384 |
959
|
0 |
10 |
unless defined $value |
960
|
0 |
10 |
if ref $value |
961
|
0 |
10 |
if &JSON::is_bool($value) |
965
|
4 |
6 |
if $flags & 4096 and not $flags & 16384 |
973
|
0 |
3 |
unless defined $value |
974
|
1 |
2 |
if ref $value |
975
|
0 |
2 |
if _is_boolean($value) |
976
|
0 |
2 |
if _is_number($value) |
984
|
16 |
3 |
defined $value ? : |
992
|
3 |
7 |
if ($type eq 'number') |
993
|
1 |
2 |
if $real_type eq 'integer' |
998
|
0 |
0 |
_type($value) eq $type ? : |
1004
|
2 |
16 |
if _is_null($value) |
1005
|
2 |
14 |
if _is_object($value) |
1006
|
3 |
11 |
if _is_array($value) |
1007
|
2 |
9 |
if _is_boolean($value) |
1008
|
3 |
6 |
if _is_integer($value) |
1009
|
4 |
2 |
if _is_number($value) |
1010
|
2 |
0 |
if _is_string($value) |
1019
|
0 |
4 |
if $schema->{$_} |
1033
|
0 |
0 |
if (exists $context->{'ids'}{$url}) { } |
|
0 |
0 |
elsif ($context->{'remote_cache'}{$url}) { } |
1043
|
0 |
0 |
if ($schema) |
1050
|
0 |
0 |
if ($schema and $pointer) |