Branch Coverage

blib/lib/WWW/Shopify/Liquid/Parser.pm
Criterion Covered Total %
branch 91 102 89.2


line true false branch
33 92 230 if $_[1]->is_free
34 230 92 if ($_[1]->is_enclosing)
47 230 230 if ($element) { }
67 1 28 if ($filter_name =~ /::/) { }
70 0 1 if $@
72 0 28 unless $$self{'filters'}{$filter_name}
75 0 29 if int @tokens > 0 and $tokens[0]{'core'} ne ':'
79 16 13 if (shift @tokens)
81 1 17 if $_->isa('WWW::Shopify::Liquid::Token::Separator') and $$_{'core'} eq ','
105 149 430 if $_->isa('WWW::Shopify::Liquid::Token::Operator')
246 25 if (int grep({$$_{'core'} eq '|' if $_->isa('WWW::Shopify::Liquid::Token::Operator');} @argument_tokens) == 0) { }
108 0 442 if $_->isa('WWW::Shopify::Liquid::Token::Separator')
125 246 4669 if ($operator eq 'WWW::Shopify::Liquid::Operator::Pipe') { }
126 103 325 if $_->isa('WWW::Shopify::Liquid::Token::Operator')
25 221 if ((my $idx = firstidx(sub { $$_{'core'} eq '|' if $_->isa('WWW::Shopify::Liquid::Token::Operator'); } , @tokens)) != -1)
127 0 25 if $idx == 0
130 29 25 if $$_[0]{'core'} eq '|'
29 88 if $_->isa('WWW::Shopify::Liquid::Token::Operator') and $$_{'core'} eq '|'
140 1501 6420 if $_->isa('WWW::Shopify::Liquid::Token::Operator')
143 1 109 unless $idx > 0 and $idx < $#tokens and $op1->isa('WWW::Shopify::Liquid::Operator') || $op1->isa('WWW::Shopify::Liquid::Token::Operand') || $op1->isa('WWW::Shopify::Liquid::Filter') and $op2->isa('WWW::Shopify::Liquid::Operator') || $op2->isa('WWW::Shopify::Liquid::Token::Operand') || $op2->isa('WWW::Shopify::Liquid::Filter')
147 0 118 if $op1->isa('WWW::Shopify::Liquid::Token::Grouping')
148 13 105 if $op2->isa('WWW::Shopify::Liquid::Token::Grouping')
155 1 244 unless int @tokens == 1 or int @tokens == 0
165 14 189 if int @tokens == 0
171 124 243 if ($token->isa('WWW::Shopify::Liquid::Token::Tag')) { }
66 177 elsif ($token->isa('WWW::Shopify::Liquid::Token::Output')) { }
173 79 45 if ($self->enclosing_tags->{$token->tag}) { }
41 4 elsif ($self->free_tags->{$token->tag}) { }
180 240 238 if ($tokens[$_]->isa('WWW::Shopify::Liquid::Token::Tag'))
181 42 198 if ($self->enclosing_tags->{$tokens[$_]->tag}) { }
29 169 elsif (exists $allowed_internal_tags{$tokens[$_]->tag} and $level == 1) { }
77 92 elsif ($tokens[$_]->tag eq 'end' . $token->tag and $level == 1) { }
42 50 elsif ($tokens[$_]->tag =~ /^end/) { }
191 1 10 if $self->enclosing_tags->{$token->tag}->inner_ignore_whitespace and int @contents > 0 and int @{$contents[0];} > 0 and $contents[0][0]->isa('WWW::Shopify::Liquid::Token::Text::Whitespace')
194 37 106 if (int @array > 0 and $array[0]->isa('WWW::Shopify::Liquid::Token::Tag') and $allowed_internal_tags{$array[0]->tag}) { }
213 2 76 unless $closed
222 1 3 if $token->tag =~ /^end(\w+)$/ and $self->enclosing_tags->{$1}
223 1 2 if exists $self->inner_tags->{$token->tag}
237 61 117 if (int @tags > 1) { }
242 61 106 if (int @tags == 0) { }
260 9 2 if $ast->isa('WWW::Shopify::Liquid::Token')
262 1 1 if $ast->requires_grouping
268 5 9 if $ast->isa('WWW::Shopify::Liquid::Token')
269 5 4 if ($ast->isa('WWW::Shopify::Liquid::Tag'))
270 5 0 $$ast{'arguments'} ? :
271 3 2 if ($ast->isa('WWW::Shopify::Liquid::Tag::Enclosing')) { }
2 0 elsif ($ast->isa('WWW::Shopify::Liquid::Tag::Output')) { }
272 2 1 if ($ast->isa('WWW::Shopify::Liquid::Tag::If')) { }
273 0 2 unless $$ast{'false_path'}
288 0 4 if ($ast->isa('WWW::Shopify::Liquid::Filter'))
291 4 0 if $ast->isa('WWW::Shopify::Liquid::Operator::Concatenate')