Branch Coverage

blib/lib/PGXN/Meta/Validator.pm
Criterion Covered Total %
branch 96 144 66.6


line true false branch
169 183 2 $$data{'meta-spec'} && $$data{'meta-spec'}{'version'} ? :
195 1 2 unless -r $file
200 0 2 unless open my $fh, '<:raw', $file
250 109 152 unless defined $$self{'errors'}
284 1 2197 if (ref $spec ne 'HASH')
289 6 2191 if (ref $data ne 'HASH')
295 5681 1835 unless $$spec{$key}{'mandatory'}
296 1823 12 if defined $$data{$key}
304 4384 1472 if ($$spec{$key}) { }
1472 0 elsif ($$spec{':key'}) { }
305 2712 1672 if ($$spec{$key}{'value'}) { }
1106 566 elsif ($$spec{$key}{'map'}) { }
383 183 elsif ($$spec{$key}{'list'}) { }
183 0 elsif ($$spec{$key}{'listormap'}) { }
319 717 755 if ($$spec{':key'}{'value'}) { }
755 0 elsif ($$spec{':key'}{'map'}) { }
0 0 elsif ($$spec{':key'}{'list'}) { }
0 0 elsif ($$spec{':key'}{'listormap'}) { }
343 38 376 if (defined $data and not ref $data) { }
346 3 373 if ref $data ne 'ARRAY'
347 0 376 if defined $$spec{'mandatory'} and not defined $$data[0]
363 1303 0 if (defined $$spec{'value'}) { }
0 0 elsif (defined $$spec{'map'}) { }
0 0 elsif (defined $$spec{'list'}) { }
0 0 elsif (defined $$spec{'list'}) { }
0 0 elsif (defined $$spec{'listormap'}) { }
0 0 elsif ($$spec{':key'}) { }
383 152 31 ref $data eq 'HASH' ? :
490 1 4 unless defined $value
491 3 2 if $value =~ /\A(?:(?:un)?stable|testing)\z/
503 1039 1 if (defined $value and $value ne '') { }
506 7 1032 unless (defined $scheme and length $scheme)
510 0 1032 unless (defined $auth and length $auth)
525 0 0 if (defined $value)
526 0 0 if $value and $known_specs{$$self{'spec'}} eq $value
527 0 0 if ($value and $known_urls{$value})
539 2 1 if defined $value and $value =~ /@/
548 1279 5 if (defined $value)
549 1275 4 if $value or $value =~ /^0$/
557 0 175 unless $self->string($key, $value)
558 174 1 unless $value =~ /\p{Upper}/
573 1 1809 unless (defined $value)
578 1801 8 if ($value || $value =~ /^0$/ and not $value =~ /$regex/) { }
579 1 1800 if ($min and length $value < $min)
583 1 1799 if ($max and length $value > $max)
596 0 0 unless defined $value
597 0 0 if $value or $value =~ /^0$/
604 181 2 if defined $value
611 552 0 if (defined $value and $value || $value eq '0')
614 556 1 if ($val ne '') { }
615 176 380 if $val eq '0'
616 20 360 if ($val =~ s/^([^\d\s]+)\s*//)
618 2 18 unless ($op =~ /^[<>](?:=)?|==|!=$/)
623 2 378 unless (eval { do { 'SemVer'->new($val) } })
635 0 1 $value ? :
641 545 1 if (defined $value) { }
642 539 6 if eval { do { 'SemVer'->new($value) } }
652 0 0 if (defined $value) { }
653 0 0 if $value =~ /^(0|1|true|false)$/
694 33 0 if (defined $value) { }
695 31 2 if $value and exists $licenses{$value}
705 10 0 if (defined $key) { }
706 5 5 if $key and $key =~ /^x_/i
716 0 0 if (defined $key) { }
717 0 0 if $key and $key =~ /^([a-z][_a-z]+)$/i
728 196 0 if (defined $key)
729 195 1 if length $key and grep {$key eq $_;} @valid_phases
730 0 1 if $key =~ /x_/i
739 377 0 if (defined $key)
740 376 1 if length $key and grep {$key eq $_;} @valid_relations
741 0 1 if $key =~ /x_/i
752 77 1 if $$self{'stack'}