diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index d237078..7710cef 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -83,7 +83,7 @@ module Liquid end def render(context) - return ''.freeze unless @name + return ''.freeze if @name.nil? @filters.inject(context.evaluate(@name)) do |output, (filter_name, filter_args, filter_kwargs)| filter_args = evaluate_filter_expressions(context, filter_args, filter_kwargs) output = context.invoke(filter_name, output, *filter_args) diff --git a/test/integration/tags/if_else_tag_test.rb b/test/integration/tags/if_else_tag_test.rb index 0b7ee0e..2613835 100644 --- a/test/integration/tags/if_else_tag_test.rb +++ b/test/integration/tags/if_else_tag_test.rb @@ -8,6 +8,7 @@ class IfElseTagTest < Minitest::Test assert_template_result(' this text should go into the output ', ' {% if true %} this text should go into the output {% endif %} ') assert_template_result(' you rock ?','{% if false %} you suck {% endif %} {% if true %} you rock {% endif %}?') + assert_template_result(' NO ','{% assign v = false %}{% if v %} YES {% else %} NO {% endif %}') end def test_if_else diff --git a/test/integration/variable_test.rb b/test/integration/variable_test.rb index bd98131..a7dc1e1 100644 --- a/test/integration/variable_test.rb +++ b/test/integration/variable_test.rb @@ -31,6 +31,7 @@ class VariableTest < Minitest::Test def test_false_renders_as_false assert_equal 'false', Template.parse("{{ foo }}").render!('foo' => false) + assert_equal 'false', Template.parse("{{ false }}").render! end def test_preset_assigns