Branch Coverage

blib/lib/PPIx/QuoteLike/Utils.pm
Criterion Covered Total %
branch 57 104 54.8


line true false branch
78 1 8 unless ref $elem
81 1 7 unless &Scalar::Util::blessed($elem)
85 5 20 if $elem->isa($class)
101 0 62 unless &Scalar::Util::blessed($ppi)
120 1 61 if $ppi->isa("PPIx::QuoteLike")
122 0 61 if $ppi->isa("PPIx::QuoteLike::Token")
128 0 61 if ($ppi->isa("PPIx::Regexp::Element"))
129 0 0 unless $ppi->find("PPIx::Regexp::Token::Code")
138 0 61 unless $ppi->isa("PPI::Element")
145 0 56 if _is_bareword_subscript($sym)
147 0 56 if (defined(my $name = _name_from_misparsed_magic($sym))) { }
164 0 0 unless $name =~ s/ \A \$ [#] /\@/msx
176 0 6 unless my $previous = $elem->sprevious_sibling
178 0 6 unless $previous->isa("PPI::Token::Cast")
181 0 6 unless $cast_allowed_for_bare_bracketed_variable->{$sigil}
184 6 0 if (my(@kids) = $elem->schildren) { }
188 0 6 unless 1 == @kids
190 0 6 unless $kids[0]->isa("PPI::Statement")
193 4 2 unless (my $name = join("", map({$_->content;} $kids[0]->children))) =~ m( \A @{[qr/ [[:alpha:]_]\w* (?: :: [[:alpha:]_] \w* )* | \^ [A-Z_] | [0-9]+ | [-!"#\$%&'()+,.\/:;<=>?[\\\]^_`{|}~] /msx];} \z )mosx
203 0 0 unless my $stmt = $elem->statement
205 0 0 if (my $finish = $elem->finish) { }
208 0 0 unless my $next = $stmt->next_sibling
210 0 0 unless $next->isa("PPI::Statement::UnmatchedBrace") and "}" eq $next->content
217 0 0 unless my $next = $stmt->next_sibling
219 0 0 unless my $finish = $next->next_sibling
221 0 0 unless $finish->isa("PPI::Statement::UnmatchedBrace") and "}" eq $finish->content
234 0 6 unless my $ql = "PPIx::QuoteLike"->new($elem)
236 2 4 unless $ql->interpolates
247 0 61 if (&HAVE_PPIX_REGEXP())
254 0 0 unless my $re = "PPIx::Regexp"->new($elem)
256 0 0 unless $re->find("PPIx::Regexp::Token::Code")
276 403 61 unless $elem->find($class)
464 24 if $elem->isa("PPI::Node")
277 2 22 if $elem->isa($class)
284 47 140 unless &Scalar::Util::blessed($object)
295 56 0 unless $elem->content =~ / \A \w+ \z /msx
298 0 0 unless $parent = $elem->parent and $parent->isa("PPI::Statement") and 1 == $parent->children
302 0 0 unless $parent = $parent->parent and $parent->isa('PPI::Structure::Subscript') || $parent->isa('PPI::Structure::Block') and 1 == $parent->children
308 0 0 unless $start = $parent->start and $start->isa("PPI::Token::Structure") and "{" eq $start->content
344 12 40 if $REGEXP_CACHE{$ql}
346 19 21 if (my $right = $matching_bracket{$left}) { }
386 45 8 unless my $right = $matching_bracket{$left}
396 3 37 if (/ \A \@ [{] \s* ( $BRACKETED_RE ) \s* [}] \z /msx)
404 1 36 if (/ \A \$ [{] \s* \\ \s* ( $PARENTHESIZED_RE ) \s* [}] \z /msx)
413 8 28 if / \A ( $SIGIL_AND_CAST_RE ) \s* [{] \s* ( $SYMBOL_NAME_RE ) \s* [}] \z /msx
425 1 27 if (/ \A ( $SIGIL_AND_CAST_RE ) \s+ ( $SYMBOL_NAME_RE ) ( .* ) /msx)
435 0 3 unless my $top = $self->top
437 0 3 unless $top->can("source")
439 0 3 unless my $source = $top->source
441 0 3 unless $source->can("statement")
511 49 7 unless $elem->isa("PPI::Token::Magic")
513 5 2 unless my $code = $$special{$elem->content}