Branch Coverage

blib/lib/WWW/Shopify/Liquid/Lexer.pm
Criterion Covered Total %
branch 0 250 0.0


line true false branch
48 0 0 if (ref $part eq 'WWW::Shopify::Liquid::Token::Variable::Processing') { }
52 0 0 $self->is_processed($part) ? :
54 0 0 unless defined $key and $key ne ''
55 0 0 if $self->is_processed($key) and $action eq 'optimize'
56 0 0 if (defined $place)
57 0 0 if (&reftype($place) and &reftype($place) eq 'HASH' and exists $place->{$key}) { }
0 0 elsif (&reftype($place) and &reftype($place) eq 'ARRAY' and &looks_like_number($key) and defined $place->[$key]) { }
0 0 elsif ($pipeline->make_method_calls and &blessed($place) and $place->can($key)) { }
71 0 0 $unprocessed ? :
77 0 0 $self->is_processed($_) ? :
86 0 0 $self->is_processed($_) ? :
88 0 0 $reference ? :
95 0 0 unless $self->is_processed($argument)
97 0 0 unless $self->is_processed($result)
132 0 0 if $_ % 2 == 0
133 0 0 if $_ % 2 == 1
0 0 unless int grep({$members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') if $_ % 2 == 0;} 0 .. $#members) == 0 and int grep({not $members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') or $members[$_]{'core'} ne ',' if $_ % 2 == 1;} 0 .. $#members) == 0
147 0 0 if ($action eq 'optimize')
162 0 0 if $_ % 2 == 0
165 0 0 unless $_ % 4 == 1 and !$members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') || $members[$_]{'core'} ne ':'
167 0 0 unless int grep({$members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') if $_ % 2 == 0;} 0 .. $#members) == 0 and int grep({$_ % 4 == 3 and !$members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') || $members[$_]{'core'} ne ',' unless $_ % 4 == 1 and !$members[$_]->isa('WWW::Shopify::Liquid::Token::Separator') || $members[$_]{'core'} ne ':';} 0 .. $#members) == 0 and int(grep {not $_->isa('WWW::Shopify::Liquid::Token::Separator');} @members) % 2 == 0
179 0 0 if ($action eq 'optimize')
191 0 0 if not defined $_[2] or $_[2] =~ /^\s*$/
219 0 0 if defined $_[1]
220 0 0 if defined $_[1]
224 0 0 if $package->is_enclosing and $package->inner_halt_lexing
228 0 0 if $package->transparent
236 0 0 unless defined $token
238 0 0 if $self->operators->{$token}
239 0 0 if $token =~ /^'(.*)'$/s or $token =~ /^"(.*)"$/s
241 0 0 if ($self->parse_escaped_characters)
248 0 0 if &looks_like_number($token)
249 0 0 if $token eq '' or $token eq 'null'
250 0 0 if $token eq ':' or $token eq ','
251 0 0 if $token eq '[]'
252 0 0 if $token eq '{}'
262 0 0 unless ($squot or $dquot)
263 0 0 if $sym and $sym eq ']'
264 0 0 if $sym and $sym eq '}'
265 0 0 if ($sym eq '.' || $sym eq ']' || $sym eq '[' || $sym eq '{' || $sym eq '}' || !$sym and $open_square_bracket == 0 and $open_curly_bracket == 0)
268 0 0 if (defined $contents and not $contents =~ /^\s*$/)
270 0 0 if (not $sym or $sym eq '.' or $sym eq '[') { }
0 0 elsif ($sym eq ']') { }
0 0 elsif ($sym eq '}') { }
271 0 0 $self->transparent_filters->{$contents} ? :
275 0 0 if int @parts == 0
279 0 0 if int @parts == 0
281 0 0 if (int @variables > 0)
282 0 0 if (int @variables == 1) { }
291 0 0 if $sym ne '"' and $sym ne q['] and not $open_curly_bracket and not $open_square_bracket
292 0 0 if $sym and $sym eq '['
293 0 0 if $sym and $sym eq '{'
296 0 0 if $token eq q[']
297 0 0 if $token eq '"'
306 0 0 if not defined $exp or $exp eq ''
318 0 0 if $nword_op and $nword_op eq '-' and $rs > 0 and substr($exp, $rs - 1, 1) ne ' ' and not substr($exp, 0, $rs) =~ /\b\d+$/
319 0 0 unless ($squot or $dquot)
320 0 0 if $rc eq '(' and $level++ == 0
321 0 0 if $rc eq '[' and $sq_level++ == 0
322 0 0 if $rc eq '{' and $hsh_level++ == 0
324 0 0 if ($rc eq ')' and --$level == 0 and $sq_level == 0)
328 0 0 if $rc eq ']'
329 0 0 if $rc eq '}'
330 0 0 if ($level == 0 and $sq_level == 0 and $hsh_level == 0)
332 0 0 if (defined $whitespace or $nword_op)
333 0 0 if (defined $start_space)
335 0 0 unless $contents =~ /^\s*$/
337 0 0 if $nword_op
342 0 0 if $rc eq q['] and not $dquot
343 0 0 if $rc eq '"' and not $squot
345 0 0 unless $level == 0
349 0 0 if $tokens[$_]->isa('WWW::Shopify::Liquid::Token::Number') and $tokens[$_ - 1]->isa('WWW::Shopify::Liquid::Token::Operator') and $tokens[$_ - 1]{'core'} eq '-'
358 0 0 if $_ == 2 || !$tokens[$_ - 3]->isa('WWW::Shopify::Liquid::Token::Operator') || $tokens[$_ - 3]{'core'} ne '|' and $tokens[$_ - 2]->isa('WWW::Shopify::Liquid::Token::Variable') and int @{$tokens[$_ - 2]{'core'};} == 1 and $tokens[$_ - 2]{'core'}[0]->isa('WWW::Shopify::Liquid::Token::String') and $tokens[$_ - 1]->isa('WWW::Shopify::Liquid::Token::Separator') and $tokens[$_ - 1]{'core'} eq ':'
368 0 0 unless defined $text
379 0 0 if $text eq ''
394 0 0 if $double_quote || $single_quote and not $open_tag and not $open_output_tag
399 0 0 if ($start_output_tag or $start_tag) { }
0 0 elsif ($end_output_tag or $end_tag) { }
406 0 0 unless ($lexing_halter)
407 0 0 if ($double_quote or $single_quote)
408 0 0 if (not $open_double_quote and $single_quote) { }
0 0 elsif (not $open_single_quote and $double_quote) { }
409 0 0 $open_single_quote ? :
411 0 0 $open_double_quote ? :
415 0 0 if $open_single_quote or $open_double_quote
417 0 0 if $end_tag and not defined $open_tag
420 0 0 if $end_output_tag and not defined $open_output_tag
422 0 0 if ($newline)
427 0 0 if ($start_tag)
431 0 0 if ($start_output_tag)
439 0 0 if ($end_tag and $open_tag) { }
0 0 elsif ($end_output_tag and $open_output_tag) { }
444 0 0 unless $tag_line =~ /\s*(\w+)\s*(.*?)\s*$/s
457 0 0 if ($tag and not $lexing_halter and exists $self->{'lexing_halters'}{$tag}) { }
0 0 elsif ($tag and $lexing_halter and $tag eq 'end' . $lexing_halter) { }
459 0 0 if $start < $start_element->[2]
470 0 0 unless ($lexing_halter)
471 0 0 if ($start < $start_element->[2])
474 0 0 if (int @tokens > 1 and $tokens[-1]->isa('WWW::Shopify::Liquid::Token::Text') and $tokens[-2]->isa('WWW::Shopify::Liquid::Token::Tag') || $tokens[-2]->isa('WWW::Shopify::Liquid::Token::Output') and $tokens[-2]{'strip_right'})
475 0 0 if ($tokens[-1]->isa('WWW::Shopify::Liquid::Token::Text::Whitespace')) { }
487 0 0 if $tag
488 0 0 if $output
494 0 0 if ($tag and $start_tag_strip and int @tokens > 1 and $tokens[-2]->isa('WWW::Shopify::Liquid::Token::Text'))
495 0 0 if ($tokens[-2]->isa('WWW::Shopify::Liquid::Token::Text::Whitespace')) { }
503 0 0 if $open_single_quote
504 0 0 if $open_double_quote
505 0 0 if $open_tag
506 0 0 if $lexing_halter
507 0 0 if $open_output_tag
513 0 0 unless defined $token
514 0 0 if $token eq ''
515 0 0 unless &blessed($token) or &looks_like_number($token)
516 0 0 unless &blessed($token)
517 0 0 if $token->isa('WWW::Shopify::Liquid::Token::NULL')
523 0 0 $_->isa('WWW::Shopify::Liquid::Token::Variable') ? :
0 0 !$self->is_processed($_) ? :
529 0 0 if $token->isa('WWW::Shopify::Liquid::Token::Variable')
530 0 0 if $token->isa('WWW::Shopify::Liquid::Token::Grouping')
531 0 0 if $token->isa('WWW::Shopify::Liquid::Token::String')
537 0 0 $_ eq ':' || $_ eq ',' ? :
544 0 0 $self->unparse_spaces ? :
545 0 0 if $self->is_processed($token)
546 0 0 if ($token->isa('WWW::Shopify::Liquid::Token::Tag'))
547 0 0 if not $token->{'arguments'} or int @{$token->{'arguments'};} == 0
550 0 0 if $token->isa('WWW::Shopify::Liquid::Token::Output')