Branch Coverage

blib/lib/Perl/MinimumVersion.pm
Criterion Covered Total %
branch 185 252 73.4


line true false branch
137 0 152 ref $_[0] ? :
138 3 149 unless my $Document = _Document(shift())
193 0 35 unless my $self = _SELF(\@_)
198 0 35 unless defined $explicit
199 1 34 if ($explicit and $explicit > $minimum)
207 0 35 unless defined $syntax
208 17 18 if ($syntax and $syntax > $minimum)
224 0 0 unless my $self = _SELF(\@_)
229 0 0 unless defined $explicit
230 0 0 if ($explicit and $explicit > $minimum)
263 0 36 unless my $self = _SELF(\@_)
265 3 33 $reason ? :
269 0 36 unless my $self = _SELF(\@_)
270 36 0 unless (defined $self->{'explicit'})
277 0 36 unless my $self = shift()
279 406 16 unless $_[1]->isa("PPI::Statement::Include")
280 12 4 unless $_[1]->version
283 33 3 unless $explicit
290 4 0 if (not $element or $version > $max)
332 0 41 unless my $self = _SELF(\@_)
334 20 21 $reason ? :
338 0 44 unless my $self = _SELF(\@_)
340 1 43 if (defined $limit and not &_INSTANCE($limit, "version"))
343 5 39 if (defined $self->{'syntax'})
344 4 1 if (not defined $limit or $self->{'syntax'}->version >= $limit)
360 19 20 if ($syntax)
377 1 0 unless defined $value
386 38 1 unless $self->{'_checks2skip'}
391 1 194 if exists $checks2skip{$rule}
394 10 184 if ($v > $filter)
400 1 9 if ($self->{'_collect_all_reasons'}) { }
415 390 0 if not exists $checks2skip{$_}
419 290 11 unless my $result = $self->$rule
427 0 11 if ($self->{'_collect_all_reasons'}) { }
456 0 0 unless my $self = _SELF(\@_)
458 0 0 $reason ? :
462 0 0 unless my $self = _SELF(\@_)
463 0 0 unless (defined $self->{'external'})
490 0 1 unless my $self = _SELF(\@_)
494 1 0 if (my $explicit = $self->minimum_explicit_version)
499 9 1 unless $self->$check
549 563 40 unless $_[1]->isa("PPI::Statement::Include")
550 9 31 unless $_[1]->pragma eq "feature"
555 11 81 if $arg->content =~ /:(5\.\d+)(?:\.\d+)?/
556 20 72 if $arg->content =~ /\b($feature_regexp)\b/
558 29 63 if ($v and $v > ($version || 0))
565 28 35 defined $version ? :
599 420 2 unless $_[1]->isa("PPI::Statement::Include") and $_[1]->pragma eq "experimental"
606 0 5 if $arg->content =~ /:(5\.\d+)(?:\.\d+)?/
607 1 4 if $arg->content =~ /\b($experimental_regexp)\b/
609 1 4 if ($v and $v > ($version || 0))
617 1 38 defined $version ? :
631 418 4 unless $_[1]->isa("PPI::Statement::Scheduled")
632 0 4 unless ($_[1]->children)[0]->isa("PPI::Token::Word")
634 3 1 unless exists $SCHEDULED_BLOCK{$function}
637 1 0 if ($v and $v > ($version || 0))
644 1 38 defined $version ? :
653 424 13 unless grep {$_[1]->isa($_);} "PPI::Token::QuoteLike::Regexp", "PPI::Token::Regexp::Match", "PPI::Token::Regexp::Substitute"
657 13 0 if ($v and $v > ($version || 0))
665 435 2 unless $_[1]->isa("PPI::Token::Regexp::Transliterate")
667 2 0 if (exists $_[1]->get_modifiers->{'r'} and $tr_r_version > ($version || 0))
675 3 44 if $version and $version eq "5.000"
682 621 109 unless $_[1]->isa("PPI::Token::Word")
683 65 44 unless $_[1]->content =~ /^(each|keys|values)$/
684 2 42 if is_method_call($_[1])
686 16 25 if $next->isa("PPI::Structure::List")
687 4 37 if ($next->isa('PPI::Token::Cast')) { }
28 9 elsif ($next->isa('PPI::Token::Symbol')) { }
1 8 elsif ($next->isa('PPI::Token::Operator')) { }
2 6 elsif ($_[1]->parent->isa('PPI::Statement::Sub')) { }
688 3 1 if ($next->content eq '@' and 5.012 > ($version || 0)) { }
0 2 elsif ($next->content eq '$' and 5.014 > ($version || 0)) { }
696 7 21 if ($next->raw_type eq '@' and 5.012 > ($version || 0)) { }
14 14 elsif ($next->raw_type eq '$' and 5.014 > ($version || 0)) { }
708 6 0 if ("5.014" > ($version || 0))
713 21 17 if $version and $version == "5.014"
716 29 52 defined $version ? :
723 0 0 if $s eq $str
734 400 58 unless $_[1]->isa("PPI::Token::Word")
735 50 8 unless $_[1]->content eq "while"
736 0 8 if is_hash_key($_[1])
737 0 8 if is_method_call($_[1])
738 1 7 unless my $e1 = $_[1]->next_sibling
739 7 0 if ($e1->isa("PPI::Structure::Condition"))
743 0 7 unless $e1->isa("PPI::Statement::Expression")
747 1 6 unless $e1->isa("PPI::Token::Word")
748 1 5 unless $e1->content eq "readdir"
749 0 5 if @children == 1
750 2 3 if @children > 2
752 0 3 unless $e1->isa("PPI::Structure::List") or $e1->isa("PPI::Token::Symbol")
763 12 288 if $_[1]->isa("PPI::Statement::Include")
769 0 0 if ($elem->isa('PPI::Token::Cast')) { }
0 0 elsif ($elem->isa('PPI::Token::Symbol')) { }
781 431 2 unless $main_element->isa("PPI::Token::HereDoc")
782 1 1 unless $main_element->content =~ /^\<\<\~/
790 355 48 unless $main_element->isa("PPI::Token::Word")
791 43 5 unless $main_element->content eq "when"
792 0 5 if is_hash_key($main_element)
793 0 5 if is_method_call($main_element)
794 0 5 if is_subroutine_name($main_element)
795 0 5 if is_included_module_name($main_element)
796 0 5 if is_package_declaration($main_element)
798 0 5 unless $stmnt
799 2 3 if $stmnt->isa("PPI::Statement::When")
806 422 8 unless $_[1]->isa("PPI::Token::Operator") and $_[1]->content eq "..."
809 5 3 if @child == 1
810 1 2 if (@child == 2)
818 6 265 if $_[1]->isa("PPI::Statement::Variable") and ($_[1]->children)[0]->isa("PPI::Token::Word")
826 0 0 unless $_[1]->isa("PPI::Statement::Compound")
827 0 0 unless $_[1]->schild(0)->isa("PPI::Token::Label")
831 0 0 if ($next->isa("PPI::Statement::Compound") and $next->schild(0)->isa("PPI::Token::Label"))
842 395 9 unless $_[1]->isa("PPI::Statement::Package")
844 0 9 unless $child[0]->isa("PPI::Token::Word")
845 0 9 unless $child[0]->content eq "package"
846 0 9 unless $child[1]->isa("PPI::Token::Word")
847 3 6 unless $child[2]->isa("PPI::Token::Number")
856 10 215 if $_[1]->isa("PPI::Statement::Include")
864 18 266 if $_[1]->isa("PPI::Token::Operator")
872 2 288 if $_[1]->isa("PPI::Token::Magic")
882 191 2 if (&_INSTANCE($param->[0], "Perl::MinimumVersion"))
885 2 0 if (&_CLASS($param->[0]) and $param->[0]->isa("Perl::MinimumVersion"))
899 9 9 if defined $_[0] and "$_[0]" eq "Perl::MinimumVersion"
903 0 26 $_->isa('Perl::MinimumVersion::Reason') ? :
905 36 0 unless &_INSTANCE($_, "Perl::MinimumVersion::Reason")
6 12 unless my(@valid) = map({[$_, $_->isa("Perl::MinimumVersion::Reason") ? $_->version : $_];} grep({&_INSTANCE($_, "version") unless &_INSTANCE($_, "Perl::MinimumVersion::Reason");} @_))
913 4 10 if $it->[1] > $max->[1]