Branch Coverage

blib/lib/Perl/Critic/Policy/ValuesAndExpressions/RequireConstantVersion.pm
Criterion Covered Total %
branch 15 78 19.2


line true false branch
64 145 27 if $VERSION_VARIABLE ne $elem->content
72 0 27 unless $operator = get_next_element_in_same_simple_statement($elem)
77 0 27 if $self->_validate_operator_bind_regex($operator, $elem)
82 0 27 unless $operator = _check_for_assignment_operator($operator)
87 0 27 unless $value = $operator->snext_sibling
92 0 27 if $value->isa("PPI::Token::Symbol") and $value->content eq $VERSION_VARIABLE
98 0 27 if $value->isa("Perl::Critic::Exception")
101 0 27 unless is_ppi_constant_element($value)
107 0 27 unless $structure = get_next_element_in_same_simple_statement($value)
110 27 0 if $Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion::SCOLON eq $structure->content
123 0 27 unless $operator->isa("PPI::Token::Operator")
124 27 0 if is_assignment_operator($operator->content)
138 27 0 if $BIND_REGEX ne $operator->content
140 0 0 unless $operand = $operator->snext_sibling
141 0 0 unless $operand->isa("PPI::Token::Regexp::Substitute")
147 0 0 if $elem->snext_sibling
151 0 0 unless $containing_list = $elem->parent and $containing_list->isa("PPI::Statement") and $containing_list = $containing_list->parent and $containing_list->isa("PPI::Structure::List")
159 0 0 unless my $prior = $elem->sprevious_sibling
163 0 0 if $prior->isa("PPI::Token::Operator") and $OPERATOR_WHICH_MAKES_NEW_VALUE{$prior->content}
172 0 0 unless $prior->isa("PPI::Token::Word")
173 0 0 unless is_function_call($prior)
177 0 0 unless $current->isa("PPI::Structure::List")
184 0 0 unless $prior = $containing_list->sprevious_sibling
186 0 0 if ($prior->isa("PPI::Token::Word"))
187 0 0 if is_method_call($prior)
188 0 0 if is_function_call($prior)
206 0 27 if ($value->isa("PPI::Token::Word"))
213 0 0 if ($content =~ / \A v \d+ \z /msx) { }
0 0 elsif ($QV eq $content) { }
0 0 elsif ($VERSION_MODULE eq $content) { }
248 0 0 unless $next = $value->snext_sibling and $next->isa("PPI::Token::Number")
268 0 0 unless ($self->{'_allow_version_without_use_on_same_line'})
270 0 0 unless $module = get_previous_module_used_on_same_line($value)
273 0 0 if $VERSION_MODULE ne $module->content
279 0 0 unless $next = $value->snext_sibling and $next->isa("PPI::Structure::List") and $next = $next->schild(0) and $next->isa("PPI::Statement::Expression") and $next = $next->schild(0)
304 0 0 unless ($self->{'_allow_version_without_use_on_same_line'})
306 0 0 unless $module = get_previous_module_used_on_same_line($value)
309 0 0 if $VERSION_MODULE ne $module->content
315 0 0 if $next = $value->snext_sibling and $next->isa("PPI::Token::Operator") and "->" eq $next->content and $next = $next->snext_sibling and $next->isa("PPI::Token::Word") and "new" eq $next->content and $next = $next->snext_sibling and $next->isa("PPI::Structure::List") and $next = $next->schild(0) and $next->isa("PPI::Statement::Expression") and $next = $next->schild(0)