Branch Coverage

blib/lib/CPAN/Meta/Converter.pm
Criterion Covered Total %
branch 194 242 80.1


line true false branch
38 0 22 if (my $err = $@)
39 0 0 unless eval "use ExtUtils::MakeMaker::version"
55 16422 5360 unless my $reftype = ref $ref
57 5021 339 defined $_CLONE_DEPTH ? :
58 0 5360 if $_CLONE_DEPTH == 0
60 729 4631 if "ARRAY" eq $reftype
61 4597 34 if "HASH" eq $reftype
63 0 34 if ("SCALAR" eq $reftype)
69 32 2 if (eval { do { $ref->can("TO_JSON") } })
71 32 0 ref $data ? :
101 406 160 defined $_[0] ? :
103 0 0 defined $_[0] ? :
105 398 63 defined $_[0] && length $_[0] ? :
111 5 518 unless defined $gen and length $gen
112 287 231 if $gen =~ /\Q$sig\E/
116 542 48 ref $_[0] eq 'ARRAY' ? :
320 590 if (not defined $_[0]) { }
128 0 6 unless $key =~ /[A-Z]/
176 24 351 unless defined $element
177 351 0 if ($license_map_1{lc $element}) { }
232 20 138 unless defined $element
233 78 60 unless ref $element eq "ARRAY"
236 0 143 unless defined $lic
237 143 0 if (my $new = $license_map_2{lc $lic})
241 138 0 @new_list ? :
276 0 33 if (not defined $element) { }
33 0 elsif (ref $element eq 'ARRAY') { }
0 0 elsif (not ref $element) { }
280 6 27 if (@$element > 1) { }
27 0 elsif (@$element == 1) { }
281 0 6 if (grep {not $is_open_source{$license_downgrade_map{lc $_} or 'unknown'};} @$element) { }
323 73 21 unless $no_index
326 0 21 if (not ref $no_index) { }
0 21 elsif (ref $no_index eq 'ARRAY') { }
336 0 21 if (exists $no_index->{'files'})
340 0 21 if (exists $no_index->{'modules'})
348 278 89 unless $element
351 0 89 if (not ref $element) { }
2 87 elsif (ref $element eq 'ARRAY') { }
360 0 89 if (exists $element->{'dir'})
364 0 89 if (exists $element->{'files'})
368 0 89 if (exists $element->{'modules'})
371 46 43 $version == 2 ? :
377 0 16429 unless defined $mod and length $mod
383 58 1817 unless defined $element
389 0 1817 unless length $element
390 0 1817 if $element eq "undef" or $element eq ""
395 1817 0 if (defined $v) { }
396 0 1817 _is_qv($v) ? :
409 4 48 defined $vobj ? :
414 1609 1318 unless defined $element
415 1313 5 if (ref $element eq 'HASH') { }
5 0 elsif (ref $element eq 'ARRAY') { }
0 0 elsif (ref $element eq '' and length $element) { }
422 5 8212 unless _is_module_name($k)
423 0 8212 if (not defined $v && length $v or $v eq "undef" or $v eq "")
428 12 8200 if (_is_module_name($v) and not version::is_lax($v))
452 56 116 if $meta->{$key}
456 100 158 if $meta->{$rel}
480 22 85 unless $prereqs and ref $prereqs eq "HASH"
486 188 237 unless $relation and ref $relation eq "HASH"
502 66 22 unless (defined $type)
525 0 318 unless ref $prereqs eq "HASH"
531 9 24 unless exists $meta->{'optional_features'}
544 96 48 unless defined $features->{$name}{$k}
552 72 4 unless exists $meta->{'optional_features'}
573 0 25 unless $element and ref $element eq "HASH"
579 57 25 unless $element and ref $element eq "HASH"
584 0 25 unless keys %$new_data
590 67 4 unless $element
602 155 48 unless $element
603 4 44 if (ref $element eq "ARRAY")
614 468 433 if defined $_[0]
618 378 413 if _is_urlish($element)
624 30 30 unless $element
627 0 30 unless @$element
633 56 405 unless $element
635 641 0 defined $_ && length $_ ? :
636 0 405 unless @$element
656 39 37 unless exists $meta->{'resources'}
668 25 18 if defined $element
669 1 17 unless exists $meta->{'url'}
672 16 17 if $repo_url =~ /\A$type/
694 22 60 unless $resources and ref $resources eq "HASH"
708 110 129 unless exists $meta->{'resources'}
717 1 30 if ($meta->{'license_url'} and not $resources->{'license'})
719 1 0 if _is_urlish($meta->{'license_url'})
721 29 2 unless keys %$resources
735 6 27 unless exists $meta->{'resources'}
741 54 104 if $element and $element =~ /\A(?:stable|testing|unstable)\z/
748 15 89 $version =~ /_/ ? :
764 319 142 unless defined $element and ref $element eq "HASH"
765 66 76 $to_version == 2 ? :
770 1875 59 if exists $element->{$k}{'version'}
780 2431 16248 if $key eq ":custom" or $key eq ":drop"
781 0 16248 unless my $fcn = $spec->{$key}
782 43 16205 if ($is_fragment and $key eq "generated_by")
785 0 16248 unless ref $fcn and ref $fcn eq "CODE"
788 11239 5009 if defined $new_value
795 428 11580 if $drop_list and grep {$key eq $_;} @$drop_list
796 10719 861 if exists $spec->{$key}
1354 62 454 unless defined $spec and ref $spec eq "HASH"
1358 448 6 if (defined $v and $v =~ /^\d+(?:\.\d+)?$/)
1359 432 16 if defined $v and grep {$v eq $_;} keys %known_specs
1360 11 5 if defined $v and grep {$v == $_;} keys %known_specs
1364 5 6 if exists $data->{'prereqs'}
1365 0 6 if exists $data->{'configure_requires'}
1427 92 181 if ($old_version == $new_version) { }
81 100 elsif ($old_version > $new_version) { }
1429 61 31 unless ($args->{'is_fragment'})
1431 0 61 unless ($cmv->is_valid)
1441 80 266 if $vers[$i] > $old_version
1442 37 229 if $vers[$i + 1] < $new_version
1445 229 0 unless ($args->{'is_fragment'})
1447 5 224 unless ($cmv->is_valid)
1458 225 265 if $vers[$i] < $old_version
1459 20 245 if $vers[$i + 1] > $new_version
1462 233 12 unless ($args->{'is_fragment'})
1464 5 228 unless ($cmv->is_valid)
1496 41 254 if $key =~ /^x_/i or $key eq "meta-spec"
1497 122 132 unless $expected{$key}