Condition Coverage

blib/lib/PPIx/Utils/Classification.pm
Criterion Covered Total %
condition 25 53 47.1


and 3 conditions

line !l l&&!r l&&r condition
57 2 31 2 builtin::blessed($elem) and $elem->isa("PPI::Statement::Sub")
392 10 0 0 $sib->isa("PPI::Token::Operator") and $sib eq "=>"
423 1 1 0 $statement->isa('PPI::Statement::Break') && $psib =~ /(?:redo|goto|next|last)/x
431 16 2 0 $elem->isa('PPI::Token::Operator') && $elem eq '->'
445 15 0 0 _is_dereference_operator($elem->snext_sibling) && !_is_dereference_operator($elem->sprevious_sibling)
465 3 0 2 $stmnt->isa('PPI::Statement::Sub') && $sib eq 'sub'
501 0 0 0 $parent->isa("PPI::Structure::Block") and not $grand_parent->isa("PPI::Statement::Compound")
538 1 0 12 $elem ne "or" and $elem ne "||"
670 0 0 2 $arg->[0]->isa("PPI::Token::Quote") and $elem eq $arg->[0]->string
677 0 0 2 $arg->[0]->isa("PPI::Token::Quote") and $elem eq $arg->[0]->string
697 0 4 0 $first_arg and $first_arg->isa("PPI::Token::Number")
706 0 2 2 $builtins and $$builtins{$elem->content}
713 0 0 1 $builtins and $$builtins{$elem->content}
772 0 1 3 $first_element and $first_element->isa("PPI::Token::Word")
1 0 3 $first_element and $first_element->isa("PPI::Token::Word") and $first_element->content eq "sub"

or 2 conditions

line l !l condition
370 18 2 $elem->snext_sibling || (return undef)

or 3 conditions

line l !l&&r !l&&!r condition
354 0 0 0 exists $BUILTINS_WHICH_TAKE_ONE_ARGUMENT{$name} || exists $BUILTINS_WHICH_TAKE_NO_ARGUMENTS{$name} || exists $BUILTINS_WHICH_TAKE_OPTIONAL_ARGUMENT{$name}
751 0 0 0 $element->isa('PPI::Token::Number') || $element->isa('PPI::Token::Quote::Literal') || $element->isa('PPI::Token::Quote::Single') || $element->isa('PPI::Token::QuoteLike::Words') || ($element->isa('PPI::Token::Quote::Double') || $element->isa('PPI::Token::Quote::Interpolate')) && !($element->string =~ / (?: \A | [^\\] ) (?: \\\\)* [\$\@] /msx)