Branch Coverage

blib/lib/Perl/Critic/Policy/Community/DeprecatedFeatures.pm
Criterion Covered Total %
branch 104 108 96.3


line true false branch
55 199 962 if ($elem->isa('PPI::Statement')) { }
903 59 elsif ($elem->isa('PPI::Token')) { }
56 13 186 if ($elem->isa("PPI::Statement::Include"))
58 3 5 if ($elem->type eq "use" and defined $elem->module and $elem->module eq "UNIVERSAL")
60 2 1 if (not @args && $args[0]->isa('PPI::Structure::List') or $args[0]->schildren)
65 3 10 if (defined $elem->module and $elem->module =~ /^::/)
70 92 811 if ($elem->isa('PPI::Token::Symbol')) { }
47 764 elsif ($elem->isa('PPI::Token::Operator')) { }
152 612 elsif ($elem->isa('PPI::Token::Word')) { }
8 604 elsif ($elem->isa('PPI::Token::Regexp')) { }
3 601 elsif ($elem->isa('PPI::Token::HereDoc')) { }
12 589 elsif ($elem->isa('PPI::Token::QuoteLike')) { }
14 575 elsif ($elem->isa('PPI::Token::Quote')) { }
72 1 91 if ($elem eq "\$[")
77 1 46 if ($elem eq ':' and $next = $elem->next_sibling and $next->isa('PPI::Token::Operator') and $next eq '=') { }
6 40 elsif ($elem eq '?' and $parent = $elem->parent and $parent->isa('PPI::Statement')) { }
4 36 elsif ($elem eq '<<' and !($next = $elem->snext_sibling) || $next->isa('PPI::Token::Operator') && $next ne '~' && $next ne '!' && $next ne '+' && $next ne '-' || $next->isa('PPI::Token::Structure') && $next ne '(' && $next ne '{' && $next ne '[') { }
87 16 1 unless $_->isa("PPI::Token::Operator") and $_ eq ":"
1 5 if ($next and &none(sub {
98 1 151 if ($elem eq 'UNIVERSAL' and $next = $elem->snext_sibling and $next->isa('PPI::Token::Operator') and $next eq '->' and $next = $next->snext_sibling and $next->isa('PPI::Token::Word') and $next eq 'import') { }
2 149 elsif ($elem eq 'for' || $elem eq 'foreach' and not $elem->sprevious_sibling) { }
6 143 elsif ($elem eq 'do' and $next = $elem->snext_sibling) { }
139 4 elsif (not +($prev = $elem->sprevious_sibling) && $prev->isa('PPI::Token::Operator') or $prev ne '->') { }
109 1 1 if ($next and $next->isa("PPI::Token::QuoteLike::Words"))
114 3 1 if ($next->isa('PPI::Token::Word') && is_function_call($next) || $next->isa('PPI::Token::Symbol') && ($next->raw_type eq '&' || $next->raw_type eq '$') and ($next = $next->snext_sibling and $next->isa("PPI::Structure::List")))
122 48 91 if (exists $posix_deprecated{$elem} or $elem eq 'tmpnam' or $elem eq 'POSIX::tmpnam') { }
8 83 elsif ($elem eq 'defined' and $next = $elem->snext_sibling) { }
21 62 elsif (exists $autoderef_functions{$elem} and $next = $elem->snext_sibling) { }
7 110 elsif ($elem eq 'chdir' and $next = $elem->snext_sibling) { }
123 12 36 $elem =~ /^POSIX::/ ? :
125 36 12 unless ($is_posix)
129 24 12 if not @args or &any(sub {
132 36 12 if ($is_posix)
133 3 33 if $function_name eq "tmpnam"
134 33 3 if exists $posix_deprecated{$elem}
138 2 6 if $next->isa("PPI::Structure::List")
139 2 4 if ($next and $next->isa("PPI::Token::Symbol") and $next->raw_type eq '@' || $next->raw_type eq '%' and $next->raw_type eq $next->symbol_type)
146 6 15 if $next->isa("PPI::Structure::List")
147 5 16 if $next and $next->isa("PPI::Statement::Expression")
148 11 9 if ($next and $next->isa("PPI::Token::Symbol") and $next->raw_type eq "\$")
153 3 0 if ($next and $next->isa("PPI::Token::Cast") and $next eq '@*' || $next eq '%*')
158 8 3 unless $is_postderef
161 3 4 if $next->isa("PPI::Structure::List")
162 2 5 if $next and $next->isa("PPI::Statement::Expression")
163 3 3 if ($next and $next->isa('PPI::Token::Quote') && !length($next->string) || $next->isa('PPI::Token::Word') && $next eq 'undef')
171 0 5 if ($elem->isa("PPI::Token::Regexp::Match") and ($elem->get_delimiters)[0] eq "??" and not $elem =~ /^m/)
174 8 0 unless ($elem->isa("PPI::Token::Regexp::Transliterate"))
179 0 3 if ($elem eq "<<")
183 4 4 if ($elem->isa("PPI::Token::QuoteLike::Regexp") or $elem->isa("PPI::Token::QuoteLike::Backtick") or $elem->isa("PPI::Token::QuoteLike::Command"))
187 5 9 if ($elem->isa("PPI::Token::Quote::Double") or $elem->isa("PPI::Token::Quote::Interpolate"))
200 12 9 if ($elem->isa('PPI::Token::Regexp') or $elem->isa('PPI::Token::QuoteLike::Regexp')) { }
5 4 elsif ($elem->isa('PPI::Token::Quote')) { }
203 2 10 if $contents =~ /(?<!\\)\\C/
210 7 14 if $contents =~ /\\N\{[^}]*\x{a0}[^}]*\}/