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 &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)