diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index a93fed7..5e18710 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -62,8 +62,8 @@ module Liquid @filters = [] p = Parser.new(markup) - - @name = Expression.parse(p.expression) + # Could be just filters with no input + @name = p.look(:pipe) ? nil : Expression.parse(p.expression) while p.consume?(:pipe) filtername = p.consume(:id) filterargs = p.consume?(:colon) ? parse_filterargs(p) : [] diff --git a/test/integration/parsing_quirks_test.rb b/test/integration/parsing_quirks_test.rb index 7d0ada7..a7617c9 100644 --- a/test/integration/parsing_quirks_test.rb +++ b/test/integration/parsing_quirks_test.rb @@ -28,14 +28,11 @@ class ParsingQuirksTest < Minitest::Test def test_error_on_empty_filter assert Template.parse("{{test}}") - - with_error_mode(:lax) do - assert Template.parse("{{|test}}") - end - + assert Template.parse("{{|test}}") with_error_mode(:strict) do - assert_raises(SyntaxError) { Template.parse("{{|test}}") } - assert_raises(SyntaxError) { Template.parse("{{test |a|b|}}") } + assert_raises(SyntaxError) do + Template.parse("{{test |a|b|}}") + end end end